Bitwise là gì

trong các ví dụ bên dưới trên đây, nhiều phần bọn họ thao tác cùng với hệ nhị phân 4 bit. điều đó tiện lợi mang đến câu hỏi dễ dàng và đơn giản hóa ví dụ.

Bạn đang xem: Bitwise là gì

Tân oán tử dịch bit trái (>).Trong phnghiền dịch trái thì toán thù hạng phía trái là biểu thức để dịch rời các bit, còn tân oán hạng mặt yêu cầu là con số bit yêu cầu di chuyển. vì chưng vậy, Khi họ viết x0011 Lưu ý rằng trong trường hòa hợp trang bị ba, Cửa Hàng chúng tôi vẫn chuyển đổi một chút về cuối số! Các bit được dịch rời ra khỏi cuối số nhị phân có khả năng sẽ bị mất dài lâu. Tương từ bỏ với ngôi trường hợp dịch bit bắt buộc.

1100 >> 1 == 01101100 >> 2 == 00111100 >> 3 == 0001sinh hoạt ngôi trường thích hợp sản phẩm công nghệ 3 tương tự như bên trên, che cuối bị mất với cùng những bit phía trái được cnhát 0 vào. Dưới đó là một ví dụ về di chuyển bit:

#include #include int main(){ std::bitset x 0b1100 ; std::cout > 1) kết quar:

110001101000Bitwise NOT

Tân oán tử bitwise NOT (~) có lẽ là dễ dàng nắm bắt nhất vào tất cả những tân oán tử bitwise. Nó chỉ đơn giản là lật từng bit trường đoản cú 0 thành bit 1 hoặc trở lại. Lưu ý rằng kết quả của NOT dựa vào vào kích thước một số loại tài liệu của khách hàng.lật 4 bits:~0100 là 1011

lật 8 bits:~0000 0100 là 1111 1011

Trong cả hai ngôi trường phù hợp 4 bit với 8 bit, chúng ta bước đầu với cùng một số trong những (nhị phân 0100 tương tự cùng với 0000 0100 theo thuộc phương pháp mà lại số thập phân 7 tương tự cùng với 07), tuy vậy chúng tôi hiệu quả với cùng 1 kết quả không giống. Chúng ta rất có thể thấy vấn đề đó vào ví dụ dưới đây:

#include #include int main()std::cout ~0b0100u ~0b0100u ; return 0;công dụng cho ra là:1011 11111011

Bitwise OR

Bitwise OR (|) hoạt động giống như cái brand name của nó (là hoặc). Tuy nhiên, ráng do vận dụng OR cho những toán hạng để tạo ra một tác dụng tuyệt nhất, bitwise OR áp dụng mang đến từng bit! Ví dụ, hãy để mắt tới biểu thức 0b0101 | 0b0110.

Để triển khai (bất kỳ) làm việc bitwise, cách đơn giản nhất là sắp xếp nhì toán hạng lên như vậy này:

0 1 0 1 OR0 1 1 0sau đó áp dụng bài toán tính tân oán mang đến từng cột bit. Trong 1 cột gồm tối thiểu một số 1 thì mang lại tác dụng là 1, còn lại là 0:

0 1 0 1 OR0 1 1 0-----------0 1 1 1Ta viết bởi code c++ như sau:

#include #include int main() std::bitset 0b0110 ); return 0;công dụng : 0111

Chúng ta rất có thể có tác dụng điều tương tự như cùng với những biểu thức OR, chẳng hạn như 0b0111 | 0b0011 | 0b0001 như sau:

0 1 1 1 OR0 0 1 1 OR0 0 0 1--------0 1 1 1viết bằng code c++:

#include #include int main() std::bitset 0b0011 công dụng : 0111.

Xem thêm: Cách Sử Dụng Acrobat Reader Chi Tiết, Cài Đặt Và Sử Dụng Adobe Reader Để Đọc File Pdf

Bitwise AND

Bitwise AND (&) vận động tương tự nhỏng bên trên. Logic AND được Reviews là đúng trường hợp cả tân oán hạng trái với cần đánh giá là đúng. Bitwise AND mang đến công dụng là đúng (1) nếu như cả hai bit trong và một cột là 1. Hãy để mắt tới biểu thức 0b0101 và 0b0110. Sắp xếp từng bit lên với áp dụng thao tác làm việc AND mang đến từng cột bit:

0 1 0 1 AND0 1 1 0--------0 1 0 0ví dụ :

#include #include int main()std::cout 0b0101 & std::bitset 0b0110 ); return 0;hiệu quả cho ra:

0100

Tương trường đoản cú, bạn có thể làm điều giống như với những biểu thức AND, chẳng hạn như 0b0001 & 0b0011 và 0b0111. Nếu toàn bộ những bit trong một cột là 1 trong những, kết quả của cột kia là 1.

0 0 0 1 AND0 0 1 1 AND0 1 1 1--------0 0 0 1ví dụ :

#include #include int main()std::cout 0b0001 và std::bitset 0b0011 & std::bitset 0b0111 ); return 0;tác dụng :

0001Bitwise XOR

Toán thù tử sau cuối là XOR bitwise (^). khi reviews nhị tân oán hạng, XOR cho công dụng là đúng (1) trường hợp một và chỉ một trong các toán hạng của chính nó là đúng (1). Nếu cả hai các đúng hoặc không đúng thì nó mang đến tác dụng là 0. Hãy chú ý biểu thức 0b0110 ^ 0b0011:

0 1 1 0 XOR0 0 1 1-------0 1 0 1Ta cũng rất có thể nhận xét loại cột biểu thức XOR ghnghiền, ví dụ như 0b0001 ^ 0b0011 ^ 0b0111. Nếu tất cả số chẵn bit một trong các một cột, kết quả là 0. Nếu tất cả một số lẻ bit 1 trong một cột, hiệu quả là 1.

0 0 0 1 XOR0 0 1 1 XOR0 1 1 1--------0 1 0 1Phép gán tân oán tử bitwise

Tương tự như các tân oán tử gán số học tập, C ++ cung cấp những toán tử gán bit theo thứ từ bỏ nhằm tạo điều kiện thuận lợi sửa thay đổi những biến hóa.

Xem thêm: Tổng Hợp Những Cách Sử Dụng Iphone Cho Người Mới Bắt Đầu, Kinh Nghiệm Sử Dụng Iphone Cho Người Mới Dùng

*

ví dụ : ta tất cả phxay gán là x = x >> 1 cách viết này tương tự với x >>= 1.

#include #include int main(){ std::bitset bits 0b0100 ; bits >>= 1; std::cout chương trình này cho công dụng :


Chuyên mục: Kiến thức