一、数制
常用的数制有二进制(Binary)、十进制(Decimal)、十六进制(Hexdecimal)和八进制(Octal)。感觉八进制不常用啊。。。
1.1 十进制→二进制
(64.03)10=(?)2
整数部分:
64/2=32——余0
32/2=16——余0
16/2 = 8——余0
8/2 = 4——余0
4/2 = 2——余0
2/2 = 1——余0
1/2 = 0——余1
从下往上为整数部分二进制结果1000000
小数部分:
0.03x2=0.06——整数部分0
0.06x2=0.12——0
0.12x2=0.24——0
0.24x2=0.48——0
0.48x2=0.96——0
0.96x2=1.92——1
0.92x2=1.84——1
0.84x2=1.68——1
0.68x2=1.36——1
0.36x2=0.72——0
从上到下为小数部分0.0000011110(精确到了小数点后10位有效数字)
因此(64.03)10=(1000000.0000011110)2
1.1 二进制→十进制
在数字电路中,十进制数字一般用二进制来表示,原因就是逻辑电路的输出高低电平刚好可以表示二进制数的1和0。在二进制数前增加一位符号位即可区分数字的正负,
正数符号位为0,负数符号位为1,这种形式称之为原码。
正数的原码、反码和补码都是自己。
负数的反、补码规则如下:
原码:1 1001(二进制增加符号位后的形式)
反码:1 0110(符号位对应取反)
补码:1 0111(反码+1) //“+1”这一操作使得正负相加刚好溢出
正数+对应负数的补码=0 !