位运算就是基于整数的二进制表示进行的运算。由于计算机内部就是以二进制来存储数据,位运算是相当快的。常用的运算符共 6 种,分别为与( & )、或( | )、异或( ^ )、取反( ~ )、左移( << )和右移( >>)。
与( & )或( | )和异或( ^ )这三者都是两数间的运算它们都是将两个整数作为二进制数,对二进制表示中的每一位逐一运算。
| 运算符 | 解释 |
|---|---|
| & | 只有两个对应位都为 1 时才为 1 |
| | | 只要两个对应位中有一个 1 时就为 1 |
| ^ | 只有两个对应位不同时才为 1 |
举例:
5 = (101)2
6 = (110)2
5&6 = (100)2
5|6 = (111)2
5^6 = (011)2
为了更好地给同学们讲解位运算,老师想把一次位运算写成竖式的形式(详见输出样例),请你写一个程序完成这个功能。
前两行依次输出a和b的32位二进制表示。
第三行输出32个-(ASCII码45)。
第四行输出运算结果的32位二进制表示。
5 6 &
00000000000000000000000000000101
00000000000000000000000000000110
--------------------------------
00000000000000000000000000000100