Làm thế nào để bạn đếm 1 số nhị phân trong python?
này người học. Trong hướng dẫn này, chúng ta sẽ sử dụng ngôn ngữ lập trình Python để tính tổng số bit đã đặt trong một số nguyên. Vấn đề này sẽ chứng minh tầm quan trọng và sức mạnh của khái niệm Thao tác bit Show
Set Bits là gì – Giới thiệuTrong thế giới của các số nhị phân, các bit tập hợp được biểu thị bằng 1. Vì vậy, về cơ bản, chúng ta cần tìm tổng số 1 ở dạng nhị phân của một số Trình diễn No Set BitsHiểu vấn đềCho một số Ví dụ, Cách tiếp cận 1. Chuyển đổi thủ côngChuyển đổi số thập phân đã cho thành số nhị phân và sau đó đếm tổng số 1 ở dạng nhị phân của số được chuyển đổi. Tuy nhiên, đây không phải là một giải pháp hiệu quả cho vấn đề Trong trường hợp này, độ phức tạp của thời gian sẽ là tuyến tính, nhưng chúng ta có thể làm cho chiến lược này hiệu quả hơn Cách tiếp cận 2. Thao tác bitVì vậy, trong cách tiếp cận này, chúng ta sẽ thấy một trong các phương pháp Thao tác bit. Chúng tôi có thể cải thiện hiệu quả của mã và cách tiếp cận của mình bằng cách sử dụng phương pháp này Bài viết này mô tả cách đếm số lượng 0 trong biểu diễn nhị phân của số nguyên 1 bằng Python. Thao tác này còn được gọi là popcount (đếm dân số)
Xem các bài viết sau để biết thêm thông tin về biểu diễn nhị phân và hoạt động theo bit trong Python
Liên kết được tài trợ i = -100 print(bin(i)) # -0b1100100 print(i.bit_count()) # 3 i = -255 print(bin(i)) # -0b11111111 print(i.bit_count()) # 8 2(Trăn 3. 10 trở lên)Phương thức 5 đã được thêm vào Python 3. 10
nguồn. int_bit_count. py Như được mô tả trong tài liệu chính thức, 5 trả về số lượng 0 trong biểu diễn nhị phân của giá trị tuyệt đối của số nguyên
nguồn. int_bit_count. py Như trong ví dụ trên, kết quả của 2 cũng chỉ đơn giản là giá trị tuyệt đối có dấu trừ;
i = -100 print(bin(i)) # -0b1100100 print(i.bit_count()) # 3 i = -255 print(bin(i)) # -0b11111111 print(i.bit_count()) # 8 3(Trăn 3. 9 hoặc sớm hơn)Trong Trăn 3. 9 hoặc sớm hơn, phương pháp 5 không được cung cấp, nhưng tương đương với 3, như được mô tả trong tài liệu chính thứcSử dụng hàm 2 tích hợp để chuyển đổi một số nguyên 1 thành một chuỗi trong ký hiệu nhị phân và phương thức 8 để đếm các ký tự trong chuỗi
nguồn. int_bit_count. py Lưu ý rằng phương thức 5 được thêm vào Python 3. 10 không sử dụng 2 và 8 nhưng được triển khai bằng thuật toán hiệu quả trong C, vì vậy sẽ nhanh hơn
Lưu ý rằng mã bên dưới sử dụng lệnh ma thuật Jupyter Notebook 2 và không hoạt động khi chạy dưới dạng tập lệnh Python
Làm cách nào để đếm số 1 trong biểu diễn nhị phân trong Java?Thuật toán đếm số bit 1 trong chuỗi bit đã cho . đặt bộ đếm vòng lặp về 0 để bắt đầu với lặp cho đến khi số> 0. -- xóa bit ít quan trọng nhất của số. number &= (number-1) -- tăng bộ đếm vòng lặp lên 1. đếm ++; trả lại bộ đếm vòng lặp bin() trong Python là gì?Hàm Python bin()
. Kết quả sẽ luôn bắt đầu bằng tiền tố 0b. returns the binary version of a specified integer. The result will always start with the prefix 0b .
Làm cách nào để đếm số 1 trong biểu diễn nhị phân trong C?Logic đếm số 0 và số 1 trong số nhị phân . Nhập một số từ người dùng. . Tính tổng số bit cần thiết để lưu trữ số nguyên trong bộ nhớ i. e. INT_SIZE = sizeof(int) * 8. . Khởi tạo hai biến để lưu số 0 và số 1, giả sử số 0 = 0 và số 0 = 0 Chạy một vòng lặp từ 0 đến INT_SIZE |