1.计算机基本单位
计算机的最小单位叫做比特,或者叫做位。b或bit
字节,byte,简写为B,1B=8b
千字节,KB,1KB=1024B
兆字节,MB,1MB=1024KB
吉字节,GB,1GB=1024MB
太字节,TB,1TB=1024GB
最小的数据单位:b
最小的存储单位:byte
2.进制
2.1简介
10进制:0~9
2进制:0~1
8进制:0~7
16进制:0~15
n进制——>十进制: 按权展开求和
十进制——>n进制:除n取余法
8进制转16进制:8进制转10进制再转16进制
16进制的10~15分别用A,B,C,D,E,F来表示
2.1写题
注:通常对十六进制数的表示,可以在数字的右下角标注16或H,或者数字开端是0x
1.
选B
2.
选B
3.
4.
3.原码反码补码移码
3.1讲解
①原码
②反码
③补码
④移码
正数:原码=反码=补码
3.2各种码的范围
可以看到,无论是什么码,它们的最大值都是一样的。至于为什么是这么多,在此举个例子,假定n=8
那么0 1 1 1 1 1 1 1就是最大值。0为符号位。那么1 1 1 1 1 1 1等于多少呢?不用傻傻地算。1 1 1 1 1 1 1不就等于1 0 0 0 0 0 0 0 - 1 吗。
1 0 0 0 0 0 0 0等于多少?2的7次方。
所以最大值就是2的7次方减一。
原码和反码的最小值同理,不过把符号位变成1表示负数即可。
移码最小值不一样是因为补码最小值不一样。
补码最小值不一样是因为人为的设定。
我们都知道,计算机存储的是补码,原码和反码都是补码衍生的基础。在原码和反码中,有两个数可以表示0,+0和-0。然而对于计算机来说是不可忍受的浪费。因此,把补码的-0,也就是1 0 0 0 0 0 0 0,定值为-128,因此,补码比原码反码多一个最小负数。
根据移码的定义可知移码的最小值和补码的相同。
定点小数的整数位为符号位,小数点后为数值位,范围计算方法和整数一样。
重要计算技巧:补码的补码等于原码
3.3写题
闭眼选C
所以选B
考补码的范围。
选C
补码可以简化计算机运算部件的设计,因为补码可以让减法像加法一样运算。
我一直觉得设计补码的人太聪明。
拿原码来讲,0001+1001=1010
那么这个式子的意思是1+(-1)=-2
天王老子来了这也是错的。
正数a加上正数b的负数等同于a减b
那么如何实现正数和负数的相加。
于是科学家发明了补码。我相信科学家是先用相反数实验。1+(-1)=0
1=0001
那么-1如何表示呢?首先四位二进制最大的数值是1111,0001+1110=1111
不难发现原码加上它的反码就等于最大值(我的例子设定是4位二进制),那再加个1,不就等于10000了么(符号位与数值位一样参与运算),不就溢出了么,不就只留下0000了么。因此,相反数就好解决了,负数都用正数原码取反加一表示。
到这里你应该就明白为何补码可以让减法像加法一样运算。
选B
闭眼选B,至于为什么翻上面我的解释。
所以选B
闭眼选D