二进制
- 因为在集成电路中只有0V和5V两种状态,所以计算机中使用的是二进制,使用二进制可以更好的控制电脑的集成电路。
- 二进制可以表达的含义:小数、字符、图书、数值、音频、视频。
- 二进制和十进制:
二进制 | 十进制 | 二进制 | 十进制 |
---|---|---|---|
0000 | 0 | 1000 | 8 |
0001 | 1 | 1001 | 9 |
0010 | 2 | 1010 | 10 |
0011 | 3 | 1011 | 11 |
0100 | 4 | 1100 | 12 |
0101 | 5 | 1101 | 13 |
0110 | 6 | 1110 | 14 |
0111 | 7 | 1111 | 15 |
- 二进制的运算:
运算符 运算 范例 << 左移 3 << 2 = 12 --> 322=12 >> 右移 3 >> 1 = 1 --> 3/2=1 >>> 无符号右移 3 >>> 1 = 1 --> 3/2=1 & 与运算 6 & 3 = 2 | 或运算 6 | 3 = 7 ^ 异或运算 6 ^ 3 = 5 ~ 反码 ~6 = -7 - 二进制中最高位为符号位,0表示为正数,1表示为负数。
- 二进制中的原码、反码、补码
对于有符号数而言:
(1)二进制的最高位是符号位:0表示正数,1表示负数
(2)正数的原码、反码、补码都一样;
(3)负数的反码 = 它的原码符号位不变,其他位取反(0 ->1 ; 1->0 );
(4)负数的补码 = 它的反码 +1;
(5)0的反码、补码都是0;
(6)在计算机运算的时候,都是以补码的方式来运算的;
例:~6 = -7的运算过程
第一步:把6的补码找出来,由于正数的原码,反码和补码都是一样的,所以6的原码就是它的补码。
6的补码:
00000000 00000000 00000000 00000110
6取反(~6):
11111111 11111111 11111111 11111001
所得~6即就是结果的补码,由于负数的补码=反码+1,而且反码是除过符号位之外,其余各位均反。所以所得结果必然是一个负数。
~6-1:
11111111 11111111 11111111 11111000
除符号位之外逐位取反:
10000000 00000000 00000000 00000111
则所得结果是-7
即~6 = -7 - 0没有补码。所以有符号整数负数位比正数位大1。即4位二进制时,全部表示正数时是0~15;表示负数时是-8 ~ 7。
- 二进制左移n位,就是将原数扩大2^n倍;二进制右移(算数右移)n位,正数高位补0,负数高位补1,也就是将原数缩小2 ^n倍;二进制无符号右移(逻辑右移)n位,高位用0补位,计算即可。
- A^B = C,C ^B = A。即同一个数异或另一个数两次仍是这个数。
- 计算机中以IEEE的格式存储浮点数。