1.1.1
基数为r的r进制数可表示为:
An*r^n+…….+a0*r^0+b1*r^(-1)+…….+bm*r^(-m);
二进制 binary
八进制 octal
十进制 decimal
十六进制 hexadecimal
这么记:Bob's dog likes hotdog;
1.1.2
1.二进制变十进制:加呗
2.十进制变二进制
(1)降幂法
就是一个一个减
(2)除法
整数除以二,商接着运算,余数留下
最开始是a0,然后a1,a2;
小数乘以二,小数接着算,整数留下先变b1,后b2,b3;
1.1.3
十六进制
十进制变十六进制
(1)降幂
(2)除法
和二进制的一样
1.2
1.2.2
十六进制的运算记住是逢16进1就行;
加法减法不说,
乘法注意,也是一位一位地乘,过16向前进;
除法书上只说是由乘法和减法共同处理,那就是和平时十进制的除法差不多;
1.3
补码中正的第一位是0,负数第一位是1;
求补运算:按位求反后末位加一
| 原码(-(2^n-1)到+(2^n-1)) | 反码(-(2^n-1)到+(2^n-1)) | 补码(-2^n到+(2^n-1)) |
正数 | 自 | 自 | 自 |
负数 | 自 | 符号位不变(为1),其他全反过来 | 2^n-|x|,n是机器的字长; 或者它的绝对值(正)进行求补,之后什么都不用改!!! |
0 | 0000 0000 1000 0000 | 00000000(+0) 11111111(-0)
| 10000000是-128!!! 0000 0000(仅) //因为多一个,所以电脑用补码 |
为了扩大精度范围,会用两个字节(叫双精度数),这是只有第一个字节的第一位表示符号。第二个字节的第一位表示数值;
15符号 | 高位字0 | 15地位字0 |
15是编号,每个机器字由低位向高位遍号;
1.3.2
任何数 求补的求补等于它自身
补码的加法:正常算
补码的减法:加上被减数的负数的补码
1.3.3
无符号整数的话范围是0<=N<=2^n-1
1.3.4
ASC2码以八位(一个字节)来表示一个字符,低的七位是ASC2码值,最高位一般是校验位;
1.4 逻辑运算
AND 与:要求严苛
OR 或:能上就上
NOT 非
异或:取值相异,结果为1;
所有逻辑运算全是按位走的;
另:我看别人的总结里由一个BCD码的东西
但是我看的教材里没有,还是补上吧
BCD码:
4位二进制数编码表示0到9这十个数,称为BCD码。BCD码是无符号整数
具体谁表示谁可以任选的;
BCD码可分为有权码和无权码两类:有权BCD码有8421码、2421码、5421码,其中8421码是最常用的;无权BCD码有余3码,余3循环码等。
8421
8421 BCD码是最基本和最常用的BCD码,它和四位自然二进制码相似,各位的权值为8、4、2、1,故称为有权BCD码。和四位自然二进制码不同的是,它只选用了四位二进制码中前10组代码,即用0000~1001分别代表它所对应的十进制数,余下的六组代码不用。
具体的百度词条点这个:https://baike.baidu.com/item/BCD%E7%A0%81/826461?fr=aladdin
压缩BCD码:一个字节存放两个十进制数,四位四位地走
其值也用二-->十进制编码(BCD码)或数字符的ASCII码的低4位表示。符号位也占用装修字节并放在最低数字位之后。其值选用四位编码中六种冗余状态中的有关值,如用12(C)表示正号,13(D)表示负号。例如+56和-35表示为:
0 | 5 | 6 | 12 |
(+56)10
0 | 3 | 5 | 13 |
(-35)10
压缩BCD码多用于汇编语言中
非压缩BCD码:用8位二进制数表示一个十进制数位