1. 原码是什么?
数值:用二进制表示
是一种计算机中对数字的二进制定点表示方法。原码表示法:在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1.
如:
我们用8位二进制表示一个数:
+11的原码为00001011,-11的原码就是10001011.
+7的原码:00000111.
2.二进制转十进制?
00000111: 1乘2的2次方加1乘2的1次方加1乘2的0次方:
等于7. 00000111的十进制是7
3.原码和补码的转换:
正数的原码:则补码等于原码等于反码
负数的原码:符号位+数值的二进制,(不够的补0)
负数的反码:原码除符号位外按位取反
负数的补码:反码+1 //原码除符号位外按位取反+1
(未尾就是最低位)
如:整数
-6: 原码 10000110 补码 11111010
7: 补码 00000111
如小数:
小数点左边为符号位:变化,
-0为:1
+0为:0
(小数是负数)右边为数值为:按位取反+末尾加1
小数 原码 补码
0.1010: 原码 0.1010 补码 0.1010
-0.1010: 原码 1.1010 补码 1.0110
0.7: 原码 0.10110 补码 0.10110
注意:负数的补码,原码,反码都是用1放在符号位
4:又有整数又有小数的:二进制:
如:写出7.7的二进制?
7的二进制:00000111
0.7的二进制:(结束:小数部分为0或者到循环的时候结束)
0.72=1.4 …1
0.42=0.8…0
0.82=1.6…1
0.62=1.2…1
0.22=0.4…0…开始循环(顺序排列:10110)
0.42=0.8…0
0.82=1.6…1
0.62=1.2…1
7.7结果是: 00000111.10110