进制,补码,BCD码__第一章ibm-pc学习笔记

来源:互联网 发布:地图区域划分软件 编辑:程序博客网 时间:2024/06/03 23:45

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码,它和四位自然二进制码相似,各位的权值8421,故称为有权BCD码。和四位自然二进制码不同的是,它只选用了四位二进制码中前10组代码,即用0000~1001分别代表它所对应的十进制数,余下的六组代码不用。

具体的百度词条点这个:https://baike.baidu.com/item/BCD%E7%A0%81/826461?fr=aladdin

压缩BCD码:一个字节存放两个十进制数,四位四位地走

其值也用二-->十进制编码(BCD码)或数字符ASCII码的低4位表示。符号位也占用装修字节并放在最低数字位之后。其值选用四位编码中六种冗余状态中的有关值,如用12C)表示正号,13D)表示负号。例如+56和-35表示为:

0

5

6

12

+56)10

0

3

5

13

-35)10

压缩BCD码多用于汇编语言中

 

非压缩BCD码:用8位二进制数表示一个十进制数位