12、关系运算符
(1)、十进制转二级制
①、余数短除法除以二:十进制数156转换成二进制数10011100
把给定的十进制数156除以2,商为78,所得的余数0是二进制数的最低位的数码,然后商再作为被除数依次类推,最后将1除以2,商为0,余数为1是二进制数的最高位的数码。
②、降二次幂及减法混合运算:十进制数156转换成二进制数10011100
a、将以2为底数的幂函数以表格形式从右到左列出来。
b、找出小于且最接近需计算数字的幂函数值。本例中为128,用156减去128,得出28。
c、在能被差减得出正数的数字下面记录为1,不能被减的数字下面记录为0。
(2)、 二级制转十进制
①、二进制数10011100转换成十进制数156
10011100
1 0 0 1 1 1 0 0
1*2^7 + 0*2^6 + 0*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 0*2^0 = 156
128 + 0 + 0 + 16 + 8 + 4 + 0 + 0 = 156
(3)、位运算符
假设A = 60,B = 13,二级制表示为:A = 0011 1100,B = 0000 1101
操作费 | 描述 | 示例 |
& | 如果相对应位都是1,则结果为1,否则为0 | (A&B),得到12,即0000 1100 |
| | 如果相对应位都是0,则结果为0,否则为1 | (A | B)得到61,即 0011 1101 |
^ | 如果相对应位值相同,则结果为0,否则为1 | (A ^ B)得到49,即 0011 0001 |
~ | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0 | (〜A)得到-61,即1100 0011 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数 | A << 2得到240,即 1111 0000 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数 | A >> 2得到15即 1111 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充 | A>>>2得到15即0000 1111 |