十进制起源:我们只有十个手指
二进制起源:《易经》中的阴阳。德国莱布尼兹0代表关(低电平),1代表开(高电平)
八进制起源:八进制主要是为了缩短数据的长度,便于记忆和输入,八进制中的一个进制位表示二进制中的三个进制位。
十六进制起源:跟八进制起源差不多,十六进制中的一个进制位表示二进制中的四个进制位。十六进制用0-9,A-F,代表0-15。
进制表示形式:
进制 | 表示形式 |
---|---|
二进制 | 0b(或者0B)(eg:0b100) |
八进制 | 0(eg:0100) |
十进制 | (eg:100) |
十六进制 | 0x(或者0X)(eg:0x100) |
进制转换:
1. 任意进制转十进制:把系数 * 基数的权次幂相加即可
(*系数:就是每一位上的数据
*基数:m进制,基数就是m
*权:在右边起,从0开始编号,对应位上的编号即为该位的权
)
- 十进制转任意进制:除积倒取余数。
——————————————————————————————————
二进制运算:
原码:就是二进制定点表示法,即最高位的符号位,0表示正,1表示负,其余位位表示数值大小
*通过一个字节,也就是8个二进制位表示 +7和 -7
[0 0000111 (+7)]、[1 0000111 (-7)]
反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外
补码:正数的补码与其原码相同;负数的补码是在其反码的末位 +1
反码 | 补码 |
---|---|
0 0000111 (+7原码) | 0 0000111 (+7原码) |
0 0000111 (+7反码) | 0 0000111 (+7补码) |
1 0000111 (-7原码) | 1 0000111 (-7原码) |
1 1111000 (-7反码) | 1 1111001 (-7补码) |
*计算机的运算是以补码来运算的。*