1.3数据的表示方法笔记及检测题

1二进制、八进制、十进制和十六进制的总结

2二进制数

二进制数以2为基数,每个二进制数字称为一个位,可以是0或者1

最左边的位是最高有效位(MSB,Most Significant Bit),最右边的位是最低有效位(LSB,Least significant Bit)

3整数存储的尺寸

所有数据的存储单位都是字节(byte),每个字节含8个位,其他的存储单位还有字(Word,两个字节),双字(dword,含四个字节)和八字节(quadword ,包含8个字节)。

无符号整数的表示范围:

4有符号整数

在基于Intel体系结构的计算机中,最好有效位(MSB)表示数的符号:0是正数,1是负数。

补码表示法:负整数一般用补码表示,一般的算法是对其绝对值数取反加一。还有一种方法是用其对应的基数减去一后再依次减去各个位,最后的结果再加一,也能得到该数对应的补码。

比如16进制的数6A3D,因为其基数减一是15,所以有

6A3D-->(用15依次减去各个位后的值)95C2-->(加一)95C3

又比如八进制的数3456,因为其基数减一是7,所以有

3456-->(用7依次减去各个位后的值)4321-->(加一)4322

又比如2进制的11001010,因为其基数减去1是1,所以有

1100 0101-->(用1依次减去各个位后的值)0011 1010-->(加一)0011 1011

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;检测题;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

题1:解释术语LSB和MSB?

解答:LSB的全名是Least Significant Bit,表示的是最低位。MSB的全称是Most Significant Bit,表示的是最高有效位。此最高有效位是判读数据是否是正负数。

题2:下列无符号二进制整数对应的十进制数是什么?
a. 1111 1000b解答:等于十六进制的F8H,也就是十进制的15*16+8=248

b. 1100 1010b解答: 等于十六进制的CAH,也就是十进制的12*16+10=202

c. 1111 0000b解答:等于十六进制的F0H,也就是十进制的15*16+0=240

d. 0011 0101b解答:等于十六进制的35H,也就是十进制的3*16+5=53

e. 1001 0110b解答:等于十六进制的96H,也就是十进制的9*16+6=150

f.  1100 1100b解答:等于十六进制的CCH,也就是十进制的12*16+12=204

题3:下面每对二进制数的和分别是什么?

a.0000 1111b + 0000 0010b = 0001 0001b

b.1101 0101b + 0110 1011b = 10100 0000b

c.0000 1111b + 0000 1111b = 0001 1110b

d.1010 1111b +1101 1011b = 11000 1010b

e.1001 0111b + 1111 1111b = 11001 0110b

f.0111 0101b + 10101100b = 10010 0001b

题4:下列的数据类型分别包含多少个字节?

a.字(word)  b.双字(doubleword)  c.八字节(quadword)

解答:因为一个字节包含8个位(byte),所以一个字(word)包含2个字节。双字包含4个字节。八字节(quadword)包含8个字节。

题5:下列的数据类型分别包含多少数据位?

a.字(word)  b.双字(doubleword)  c.八字节(quadword)

解答:因为一个字节包含8个位(byte),所以一个字(word)包含2个字节16位。双字包含4个字节32位。八字节(quadword)包含8个字节64位。

题6:为表示下列无符号整数,最少需要多少个二进制位?

a.65    b. 256   c.32768  d.4095   e.65534   f.2134657

解答:65等于01000001b,所以可以用7个二进制位。256等于100000000b,所以可以用9个二进制位。32768等于1000000000000000b,所以可以用16个二进制位。4095等于111111111111b,所以可以用12个二进制位。65534等于1111111111111110b,所以可以用16个二进制位。。而2134657等于1000001001001010000001b。所以可以用22位来存储。

 题7:下列有符号十进制数对应的16位十六进制数十什么?

a -26 b -452 c -32 d -62

解答:有符号的十进制数转化为十六进制的思路是:1将十进制整数的绝对值转换为十六进制数。2.如果十进制整数位负数,计算前一步得到的十六进制的补码,即用15依次减去各个位后再加一就是其所得的补码。所以我们有:

a:1.-26的绝对值是26,转化为十六进制是001Ah。2.因为-26是负数,所以要把001Ah求补码。所以001Ah-->FFE5h-->FFE6h。

b:1.-452的绝对值是452,转化为十六进制01C4h。2.因为-452是负数,所以要把01C4h求补码。所以01C4h-->FE3BH-->FE3CH

c:1.-32的绝对值是32,转化为十六进制0020h。2.因为-32是负数,所以要把0020h求补码。所以0020h-->FFDFH-->FFE0H

d:1. -62绝对值是 62,转化为十六进制003Eh。2.因为-62是负数,所以要把003Eh求补码。所以003Eh-->FFC1H-->FFC2H

题8:下列16位的十六进制数表示的是有符号整数,请将其转化为十进制数。

A.7CAB   B.C123   C.7F9B     D.8230

解答:将有符号十六进制数转化为十进制数的思路是:1.如果原十六进制整数是负数,那么求 其补码。否则保持不变。2.将上一步得到的整数转化为十进制数,如果原来的十六进制数为负数,那么就在十进制数的开头加一负号。

A:1.7CABH是正数,不需要求补码。2.7CAB转化为十进制数是31915

B:1.C123 H是负数,需要求补码,是C123H-->3EDCH-->3EDDH。2.3EDCH 转化为十进制数是-16093

C:1.7F9BH是正数,不需要求补码。2.7F9B转化为十进制数是32667

D:1.8230H是负数,需要求补码是8230H-->7DCFH-->7DD0H。2.7DCFH转化为十进制数是-32208

题9:下列有符号二进制数对应的十进制数是什么?

A.1011 0101B    B.0010 1010B    C.1111 0000B   D.1000 0000B  E.1100 1100B   F.1011 0111B

解答:将有符号二进制数转成对应的十进制数的思路是:1.如果最高位是1,说明数字是用补码表示的,那必须对其求补得到对应的正数,然后就可以把它当做无符号二进制数对待,转换为十进制数。2.如果最高位是0,说明数字是正数,直接转换为十进制数。

A.1011 0101B 1.是负数,求补码1011 0101B-->0100 1010B-->0100 1011B 2.把0100 1011B 转换为十进制数75

B.0010 1010B 1.是正数,直接转换为十进制数 42

C.1111 0000B 1.是负数,求补码1111 0000B-->0000 1111B-->0001 0000B 2.把0001 0000B 转换为十进制数16

D.1000 0000B 1.是负数,求补码1000 0000B-->0111 1111B-->1000 0000B 2.把1000 0000B 转换为十进制数128

E.1100 1100B 1.是负数,求补码1100 1100B-->0011 0011B-->0011 0100B 2.把0011 0100B转换为十进制数52  

F.1011 0111B 1.是负数,求补码1011 0111B-->0100 1000B-->0100 1001B 2.把0100 1001B转换为十进制数 73 

题10:下列有符号十进制数对应的8位二进制数是多少?

A.-5   B.-36   C.-16  D.-26

解答:把有符号的十进制数转换对应的二进制数的思路:将十进制数数的绝对值转换为二进制数。如果原来的十进制数是负数,则计算第一步所得的二进制数的补码。

A.-5 1.其绝对值是5 对应的二进制数是0000 0101B 2.因为-5是负数,所以要求0000 0101B的补码-->1111 1010B-->1111 1011B

B.-36 1.其绝对值是36 对应的二进制数是0010 0100b 2.因为-5是负数,所以要求0010 0100b 的补码-->1101 1011B-->1101 1100B

C.-16 1.其绝对值是16 对应的二进制数是0001 0000b 2.因为-16是负数,所以要求0001 0000b 的补码-->1110 1111B-->1111 0000B 

 D.-26  1.其绝对值是26 对应的二进制数是0001 1010b 2.因为-26是负数,所以要求0001 1010b的补码-->1110 0101B-->1110 0110B 

题11:为什么要发明Unicode?

解答:因为ANSI只能处理小于256个字符的代码,即为了处理那些包含多于256个字符代码的国际字符集。

题12:用256为无符号整数能够表示的最大值是多少?

解答:其能表示的范围是0~2^256-1。所以其能表示的最大值是2^256-1 。

题13:用256为有符号整数能表示的最大数值是多少?

解答:其能表示的范围是-2^255~2^255-1。所以能表示的最大数值是-2^255。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值