題1.1 為了將600份文件順序編碼,如果采用二進制代碼,最少需要用幾位?如果改用八進制或十六進制代碼,則最少各需要用幾位?
因為9位二進制代碼共有2的9次冪,是512,碼數不夠,而2的10次冪是1024,所以采用十位二進制數對600份文件進行順序編碼夠用。
如果將十位二進制數改為八進制數則需要四位,改為十六進制數,則需要三位。
題1.2 將下列二進制整數轉換為等值的十進制數。
(1)01101:0*2^4+1*2^3+1*2^2+0*2^1+1*2^0=13
(2)10100:1*2^4+0*2^3+1*2^2+0*2^1+0*2^0=20
(3)10010111:1*2^7+0*2^6+0*2^5+1*2^4+0*2^3+1*2^2+1*2^1+1*2^0=128+16+4+2+1=151
(4)1101101:1*2^6+1*2^5+0*2^4+1*2^3+1*2^2+0*2^1+1*2^0=64+32+8+4+1=109
題1.3 將下列二進制小數轉換為等值的十進制數。
(1)0.1001:1*2^(-1)+0*2^(-2)+0*2^(-3)+1*2^(-4)=0.5+0.0625=0.5625
(2)0.0111:0*2^(-1)+1*2^(-2)+1*2^(-3)+1*2^(-4)=0.25+0.125+0.0625=0.375+0.0625=0.4375
(3)0.101101:1*2^(-1)+0*2^(-2)+1*2^(-3)+1*2^(-4)+0*2^(-5)+1*2^(-6)=0.5+0.125+0.0625+0.015625=0.703125
(4)0.001111:0*2^(-1)+0*2^(-2)+1*2^(-3)+1*2^(-4)+1*2^(-5)+1*2^(-6)=0.125+0.0625+0.03125+0.015625=0.234375
題1.4 將下列二進制數轉換為等值的十進制數。
(1)101.011:1*2^2+0*2^1+1*2^0+0*2^(-1)+1*2^(-2)+1*2^(-3)=4+1+0.25+0.125=5.375
(2)110.101:1*2^2+1*2^1+0*2^0+1*2^(-1)+0*2^(-2)+1*2^(-3)=4+2+0.5+0.125=6.625
(3)1111.1111:1*2^3+1*2^2+1*2^1+1*2^0+1*2^(-1)+1*2^(-2)+1*2^(-3)+1*2^(-4)=15.9375
(4)1001.0101:1*2^3+0*2^2+0*2^1+1*2^0+0*2^(-1)+1*2^(-2)+0*2^(-3)+1*2^(-4)=9.3125
題1.5 將下列二進制數轉換為等值的八進制數和十六進制數。
將二進制數轉換為八進制數前后補位數0,使得小數點左右兩側的位數是3的倍數,三個為一組//將二進制轉換為十六進制數也是同理,四個為一組。
(1)1110.0111: 八:001110.011100=16.34 十六:e.7
(2)1001.1101: 八:001001.110100=11.64 十六:9.d
(3)0110.1001: 八:000110.100100=6.44 十六:6.9
(4)101100.110011: 八:101100.110011=54.63 十六:00101100.11001100:=2c.cc
題1.6 將下列十六進制數轉換為等值的二進制數。
(1)8C:10001100
(2)3D.BE:00111101.10111110
(3)8F.FF:10001111.11111111
(4)10.00:00010000.00000000
題1.7 將下列十進制數轉換為等值的二進制數和十六進制數。
將整數十進制轉換為等值的二進制數:每次除以2,取余數,之后一直用商去除,直到余數為0,之后依次從下往上,從左往后記錄。
(1)17:二進制 1*2^4+0*2^3+0*2^2+0*2^1+1*2^0 10001 十六進制:00010001=11
(2)127:二進制 1*2^6+1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0 1111111 十六進制:01111111=7F
(3)79: 二進制 1*2^6+0*2^5+0*2^4+1*2^3+1*2^2+1*2^1+1*2^0 1001111 十六進制:01001111=4F
(4)255:二進制 1*2^7+1*2^6+1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0 11111111 十六進制:11111111=FF
題1.8 將下列十進制數轉換為等值的二進制數和十六進制數。要求二進制數保留小數點以后8位有效數字。
將小數十進制數轉化為二進制數,每次將要轉化的數乘以2,如果大於1,將1落下來,小於1落0,之后將大於1的數取小數部分在乘以2,以此類推,直到小數部分為0(或者滿足條件停止),最后從上到下依次輸出落下的數。
(1)0.519:二進制: 0.10000100 十六進制:0.84
(2)0.251:二進制:0.01000000 十六進制:0.40
(3)0.0376:二進制:0.00001001 十六進制:0.09
(4)0.5128:二進制:0.10000011 十六進制:0.83
題1.9 將下列十進制數轉換為等值的二進制數和十六進制數。要求二進制數保留小數點以后4位有效數字。
分別按十進制整數和小數轉換為二進制的方法轉換。
(1)25.7:二進制:11001.1011 十六進制:19.b
(2)188.875:二進制:10111100.1110 十六進制:bc.e
(3)107.39:二進制:1101011.0110 十六進制:6b.6
(4)174.06:二進制:10101110.0000 十六進制:ae.0
題1.10 寫出下列二進制數的原碼,反碼和補碼。
(1)+1011: 原碼:01011 反碼:01011 補碼:01011
(2)+00110:原碼:000110 反碼:000110 補碼:000110
(3)-1101: 原碼:11101 反碼:10010 補碼:10011
(4)-00101:原碼: 100101 反碼:111010 補碼:111011
題1.11 寫出下列帶符號位二進制數(最高位為符號位)的反碼和補碼。
(1)011011: 反碼:011011 補碼:011011
(2)001010:反碼:001010 補碼:001010
(3)111011: 反碼:100100 補碼:100101
(4)101010: 反碼:110101 補碼:110110
題1.12 用8位的二進制補碼表示下列十進制數。
(1)+17 00010001
(2)+28 00011100
(3)-13 11110011
(4)-47 11010001
(5)-89 10100111
(6)-121 10000111
題1.13 計算下列用補碼表示的二進制數的代數和。如果和為負數,請求出負數的絕對值。
負數的絕對值是在補碼的基礎上再次求補碼,之后去掉符號位。 原碼:補碼再求補。
(1)01001101+00100110 01110011=115
(2)00011101+01001100 01101001=105
(3)00110010+10000011 10110101=-75 1001011 75
(4)00011110+10011100 10111010=-70 1000110 70
(5)11011101+01001011 00101000=40
(6)10011101+01100110 00000011=3
(7)11100111+11011011 11000010=-62 0111110 62
(8)11111001+10001000 10000001=-127 1111111 127
題1.14 用二進制補碼運算計算下列格式。式中的4位二進制數是不帶符號位的絕對值。如果和為負數,請求出負數的絕對值。
(1)1010+0011 01101
(2)1101+1011 011000
(3)1010-0011 00111
(4)1101-1011 00010
(5)0011-1010 11001 絕對值 0111
(6)1011-1101 11110 絕對值 0010
(7)-0011-1010 10011 絕對值1101
(8)-1101-1011 101000 絕對值11000
題1.15 用二進制補碼運算計算下列各式。
(1)3+15 00011+01111=010010
(2)8+11 01000+01011=010011
(3)12-7 01100+11001=00101
(4)23-11 010111+110101=001100
(5)9-12 01001+10100=11101 和為負值,再對補碼求補,得到原碼:10011(-3)
(6)20-25 010100+100111=111011 和為負值,再對補碼求補,得到原碼:100101(-5)
(7)-12-5 10100+11011=101111 和為負值,再對補碼求補,得到原碼:110001(-17)
(8)-16-14 110000+110010=100010 和為負值,再對補碼求補,得到原碼:111110(-30)