声明:本文仅供自学笔记使用
- 所有数字在计算机底层都以二进制的形式存在
- 对于整数,有四种表示方式
二进制:满2进1,以0b或者0B开头
八进制:满8进1,以0开头
十进制:满10进1
十六进制:满16进1,以0x或者0X开头,且此时A-F不区分大小写 - 64个bit = 8个字节 = 4个字 = 2个双字 = 1个4字
- 计算机基本存储单元为字节,即8个比特位
二进制
- 二进制的整数有如下三种形式:源码,反码,补码
- 源码:直接转化为二进制数即源码,最高位是符号位
反码:对源码按位取反(0->1,1->0),除符号位外
补码:反码加一即补码 - 计算机以二进制补码的形式保存所有的整数
- 正数三码合一,即源码,反码,补码一致
- 负数源码:对应正数转为二进制数,将首位置为1
符号位 (0正1负) | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 示例整数 |
---|---|---|---|---|---|---|---|---|
1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | -12 |
负数反码:首位为1,其他按位取反
符号位 (0正1负) | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 示例整数 |
---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | -12 |
负数补码:反码加一
符号位 (0正1负) | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 示例整数 |
---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | -12 |
- -128较为特殊,是由-127推算过来的
- 以二进制为基准,进行和其他进制的相互转化
十进制 -> 二进制:除2,取余的逆序排列
二进制 -> 十进制:1> 从0开始,对二进制数逆序标号;2> 当二进制数该位为1时,以2为底,以对应的逆序标号为指进行计算,将所有位对应的计算结果相加就是对应的十进制数;