目录
1.计算机数值的表示
(1)二进制与字节
计算机中的内存由许多称为字节的单位组成,1字节由八个二进制位bit组成。每个二进制位的值为0或1;最右边的一位称为“最低位”;最左边的一位称为“最高位”。
图示例:
7 6 5 4 3 2 1 0
↓ ↓
最高位 最低位
最高位(也叫符号位)存储的0或1:
存储的是0即表示正数。
若是存储为1即表示复数。
(2)数值的补码表示
(1)正数的补码与原码相同。
(2)负数的补码是其原码相反数(即符号位为1,原码符号位不变,其余按位取反。即:0变1,1变0),再在末位加1。
位逻辑运算符的说明
(1)运算对象只能是整型或字符型数据。
(2)参与运算时,运算对象以二进制形式进行相应的按位运算。
讲解形式按如下:
~00000011 = 11111100
00000011&00001001=000000001
00000011 | 00001001=00001011
00000011 ^ 00001001=00001010
按位非:【~】
即以二进制形式进行按位取反,0变1,1变0的操作。
按位与:【&】
A&B,即以二进制形式进行各位相互运算,上下同为1即得1,上下若有1,0或0,1得0,上下俩0也得0.
详解:
这里把对看作是1,错误看作为0。
可以把按位与 看作是一个严格的老师:判断答案必须全对(即上下为1)才算对(1),而像半对半错(即上0下1或下0上1)都不給分(0).当然错两个题(上下均为0)就更不可能给分(即0)。)
按位或:【|】
A|B,以二进制进行各位相互运算,即只要上下有一个或两个1,即为1,两个0,即0.
按位异或:【^】
A^B, 以二进制形式进行相互运算,即只要有有一个1的才为1,两个1的即为0, 两个0,同0.
位移运算符的说明
左移:[<<]
右移:[>>]
← | ← | ... | ← | ← |
无符号数左移 舍去 ←
↑
0补
→ | → | ...... | → | → |
无符号数右移 补入 0 →
↓
舍去
← | ← | ... | ← | ← |
有符号左移 舍去 ←
↑补0
→ | → | ... | → | → |
有符号数右移 →
↑
↑←← ←↓ ↓
舍去