数据编码与数据运算

1:根据计算机中信息的编码表示方式,可将数据分为定点数据、浮点数据、图形数据和文字数据,为了保证正确性,还广泛采用检错码和纠错码
2:计算机中表示的二进制数称为机器码
3:10进制数的表示方式
10进制数123
=1〖10〗2+2〖10〗1+3〖10〗0 推广有:
=x_0〖10〗(n-1) + x_12〖10〗(n-2) + … + x(n-2) 〖10〗1 + x_(n-1) 〖10〗0 指数的值取决于数据位,即个位为0,十位取1,。推广r进制:
=x_0r(n-1) + x_12r(n-2) + … + x_(n-2) r1 + x_(n-1) r0 推广二进制数:
=x_0
2(n-1) + x_122(n-2) + … + x
(n-2) 21 + x_(n-1) 20
二进制数〖1101〗_2表示为:
=1
2
3 + 1
2
2 + 0
2
1 + 1
20 =8+4+1=13
4:二进制数转换成八进制数可三位一组进行转换,二进制转换成十六进制可四位一组进行转换。
5:二进制数转换成16进制数表
0000 0 0001 1 0010 2 0011 3
0100 4 0101 5 0110 6 0111 7
1000 8 1001 9 1010 A 1011 B
1100 C 1101 D 1110 E 1111 F
6:十进制整数转换成二进制(除二取余,底大上小)
18转换为二进制
18

9 ……0 (18除以2得9,余0)

4 ……1 (9除以2得4,余1)

2 ……0 (4除以2得2,余0)

1 ……0 (2除以2得1,余0)

0 ……1 (1除以2得0,余1)
结果为:10010
7:十进制小数部分(乘二取整,上大底小)
0.81转换成二进制
0.81

1.62 取1 (0.81乘以2得1.62)

1.24 取1 (0.62乘以2得1.24)

0.48 取0 (0.24乘以2得0.48)

0.96 取0 (0.48乘以2得0.96)

1.92 取1 (0.96乘以2得1.92)

结果为:0.11001
7:定点数。是指小数点位置固定不变的数据,分为定点整数和定点小数
8:计算机中表示一个带符号数的方法有原码表示法、反码表示法、补码表示法和移码表示法
9:原码表示法:
0代码正号,1代表负号
1个n+1位整数原码的数值范围
-2
n+1<=x<=2^n-1
1个n+1位定点小数原码的数值范围
-1+2^(-n)<=x<=1-2^(-n)
例:x=1010,y=-1010 n=4 [x]原=01010 [y]原=11010

x=0.1010,y=-0.1010  n=4     [x]原=0.1010             [y]原=1.1010

10:补码表示法
正数加上符号位0;负数的补码等于二进制位按位取反后最低位加上1,符号位改为1得
n+1位整数补码表示的范围
-2^n<=x<=2^n-1
定点数补码的数值范围
-1<=x<=1-2^(-n)
例:x=1010,y=-1010 n=5 [x]补=01010 [y]补=10110

x=0.1010,y=-0.1010  n=5     [x]补=0.1010             [y]补=1.0110

计算机中通常采用补码来表示数据
11:反码表示方法
正数的反码与原码相同
负数的编码是将x的二进制位按位取反得到
n+1位整数反码的数值范围
-2n+1<=x<=2^n-1
定点小数的数值范围
-1+2
(-n)<=x<=1-2^(-n)
例:x=1010,y=-1010 n=8 [x]反=00001010 [y]反=11110101

x=0.1010,y=-0.1010  n=8     [x]反=0.0001010              [y]反=1.1110101

12:移码表示法
对于n+1位二进制数x=x0x1…xn,移码定义为:
[x]移=2n+x
移码的数值范围
-2
n<=x<=2^n-1
定点小数没有移码的定义
移码最高位为符号位,但1表示正号,0表示负号。其与补码一样,只是符号位不一样。
13:浮点数的编码
(1)浮点数据通常表示为:
N=〖(-1)〗sMRE
其中S为数据的符号位,M是浮点数的尾数,R是基数,E是阶码。符号位为0表示正数,为1表示负数。基数R是常数,不需要用代码表示。M用定点小数的形式表示,决定浮点数的表示精度,阶码决定了数据的表示范围。阶码采用补码或移码表示。
(2)计算浮点数编码
将0.0011*2^0转换为规格化数表示,尾数和符号位采用4位补码编码,阶码采用3位移码

1)0.0011为正数,符号位为0   
2)规格化时将尾数左移2位:   0.1100*2^(-2)
3)将0.1100填入浮点码的后五位
4)阶码为-2.-2的移码为001
5)0+010+01100
6)00101100

将-0.0011*2^0转换为规格化数表示,尾数和符号位采用5位补码编码,阶码采用3位移码

1)-0.0011为正数,符号位为1      补码表示为:1.1101
2)规格化时将尾数左移2位:   0.1100*2^(-2)
3)将0
4)阶码
5)0+
6)00

(3)计算表示的数值

当S=0.E=3.M=〖0.1000〗_2时,求R=2时表示的数值
〖(-1)〗^0*2^3*1/2=4

(4)十进制数-0.75表示成单精度的IEEE754标准编码

(5)IEEE754标准编码转换为10进制数

你可能感兴趣的:(数据编码与数据运算)