bit32
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Thư viện này cung cấp các chức năng để thực hiện các hoạt động bitwise.
Giới hạn số lượng
Thư viện này xử lý các số như số không có dấu 32 bit; các số sẽ được chuyển đổi thành số này trước khi được sử dụng (xem hình ảnh bên dưới).Các số với số thập phân được làm tròn lên số tự nhiên gần nhất.

Tóm Tắt
Chức Năng
Trả về một số sau khi các bit của nó đã được chuyển sang phải theo toán học bởi một khoảng cách được cho trước.
Trả về AND bitwise của tất cả các số được cung cấp.
Trả về sự phủ nhận bitwise của một số nhất định.
Trả về OR bitwise của tất cả các số được cung cấp.
Trả về một boolean mô tả xem liệu bitwise và các tham số của nó có khác với 0 hay không.
Trả về XOR bitwise của tất cả các số được cung cấp.
Trả về số được cho với thứ tự của các bayt đã đổi.
Trả về số lượng bit liên tục không có trong đại diện 32 bit của số cung cấp bắt đầu từ bit lớn nhất (quan trọng nhất).
Trả về số lượng bit liên tục không có trong đại diện 32 bit của số cung cấp bắt đầu từ bit có ý nghĩa nhất (ít nhất) bên phải.
Chiết xuất một phạm vi bit từ một số và trả lại chúng như một số không có dấu.
Trả lại một bản sao của một số với một phạm vi bit được thay thế bởi một giá trị đã cho.
Trả về một số sau khi các bit của nó đã được xoay sang bên trái bởi một số lần nhất định.
Trả về một số mà các bit của nó đã được chuyển sang bên trái theo nghĩa logic bởi một chuyển đổi nhất định.
Trả về một số sau khi các bit của nó đã được xoay sang phải theo một số lần nhất định.
Trả về một số mà các bit của nó đã được di chuyển logic sang phải bởi một chuyển đổi nhất định.
Chức Năng
arshift
Trả về số x chuyển sang phải disp bit.Số disp có thể là bất kỳ số nguyên có thể đại diện.Di chuyển tiêu cực chuyển sang bên trái.
Hoạt động chuyển đổi này được gọi là chuyển đổi arithmetic.Các bit trống ở bên trái được lấp đầy bằng các bản sao của bit cao hơn của x ; các bit trống ở bên phải được lấp đầy bằng số 0.Cụ thể, di chuyển với giá trị tuyệt đối cao hơn 31 dẫn đến không có hoặc 0xFFFFFFFF (tất cả các bit gốc được di chuyển ra ngoài).
Lợi Nhuận
band
Trả về AND bitwise của tất cả các số được cung cấp.
Mỗi bit được kiểm tra chống lại bảng sự thật sau:
<th>B</th><th>Thành phẩm</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>0</td></tr><tr><td>0</td><td>1</td><td>0</td></tr><tr><td>1</td><td>1</td><td>1</td></tr></tbody>
A |
---|

Tham Số
Lợi Nhuận
bor
Trả về OR bitwise của tất cả các số được cung cấp.
Mỗi bit được kiểm tra chống lại bảng sự thật sau:
<th>B</th><th>Thành phẩm</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>1</td><td>1</td></tr><tr><td>1</td><td>1</td><td>1</td></tr></tbody>
A |
---|

Tham Số
Lợi Nhuận
bxor
Trả về XOR bitwise của tất cả các số được cung cấp.
Mỗi bit được kiểm tra chống lại bảng sự thật sau:
<th>B</th><th>Thành phẩm</th></tr></thead><tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>1</td><td>1</td></tr><tr><td>1</td><td>1</td><td>0</td></tr></tbody>
A |
---|

Tham Số
Lợi Nhuận
extract
Trả về số không có dấu được hình thành bởi các bit field đến field + width - 1 từ n .Bit được đếm từ 0 (ít có ý nghĩa nhất) đến 31 (có ý nghĩa nhất).Tất cả các bit truy cập phải nằm trong phạm vi [0, 31].Mặc định cho width là 1.
Lợi Nhuận
lrotate
Trả về số x xoay disp bit sang bên trái.Số disp có thể là bất kỳ số nguyên có thể đại diện.Đối với bất kỳ di chuyển hợp lệ nào, danh tính sau đây giữ:
assert(bit32.lrotate(x, disp) == bit32.lrotate(x, disp % 32))
Cụ thể, di chuyển tiêu cực quay về phía bên phải.
Lợi Nhuận
lshift
Trả về số x chuyển sang bên trái disp bit.Số disp có thể là bất kỳ số nguyên có thể đại diện.Di chuyển tiêu cực chuyển sang bên phải.Theo bất kỳ hướng nào, các bit trống được lấp đầy bằng không.Cụ thể, di chuyển với giá trị tuyệt đối lớn hơn 31 dẫn đến không (tất cả các bit được di chuyển ra ngoài).

Đối với sự di chuyển dương tính, sự bình đẳng sau đây được giữ:
assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32)
Lợi Nhuận
rrotate
Trả về số x xoay disp bit sang phải. Số disp có thể là bất kỳ số nguyên có thể đại diện.
Đối với bất kỳ di chuyển hợp lệ nào, danh tính sau đây giữ:
assert(bit32.rrotate(x, disp) == bit32.rrotate(x , disp % 32))
Cụ thể, di chuyển tiêu cực quay về phía bên trái.
Lợi Nhuận
rshift
Trả về số x chuyển sang phải disp bit.Số disp có thể là bất kỳ số nguyên có thể đại diện.Di chuyển tiêu cực chuyển sang bên trái.Theo bất kỳ hướng nào, các bit trống được lấp đầy bằng không.Cụ thể, di chuyển với giá trị tuyệt đối lớn hơn 31 dẫn đến không (tất cả các bit được di chuyển ra ngoài).

Đối với sự di chuyển dương tính, sự bình đẳng sau đây được giữ:
assert(bit32.rshift(b, disp) == (b % 2^32 / 2^disp) // 1)
Hoạt động chuyển sang này được gọi là chuyển sang logic.