这是课件上面的东西 我特地保留下来以供以后使用
1. 比特位和字节
CPU 能读懂的最小单位(只能存放 0 和 1)—— 比特位,bit,b
内存机构的最小寻址单位 —— 字节,Byte,B
关系:1Byte == 8bit
因此,一个字节可以表示最大的数是:11111111
2. 二进制、十进制和十六进制
3. 符号位
存放 signed 类型的存储单元中,左边第一位表示符号位。如果该位为 0,表示该整数是一个正数;如果该位为 1,表示该整数是一个负数。
一个 32 位的整型变量,除去左边第一位符号位,剩下表示值的只有 31 个比特位。
4. 补码
我自己理解补码就是方便有符号数的运算,例如3+(-3)==3 - 3 == 3 + (-3) == 0。二进制就是 00000011 + 10000011 == 10000110。不是为0所以我们将他们进行补码运算
正数的补码是其本身的二进制形式;负数的补码需要先将其绝对值按位取反,再 + 1。
比如 -3,就是先将 10000011 按位取反(除了符号位),得到 11111100,再 +1 得到 11111101。
这样就可以解决 3 + (-3) == 0 的问题了。00000011 + 11111101 == 100000000
得到数是九位,对于一个字节来说第九位自动溢出了,故得到的数是0;
计算机是用补码的形式来存放整数的值。
正数的补码是该数的二进制形式。
负数的补码需要通过以下几步获得:
- 先取得该数的绝对值的二进制形式
- 再将第1步的值按位取反
- 最后将第2步的值加1
5. 二进制表示最大值和最小值
6. 基本数据类型的取值范围
取值范围特别有用!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!