Trending News
我的計概作業Part-2
1. 請將
(369.375)10 <10是小字的>
轉換成二進位
2.請將
(E2B9.CD)16 <16是小字的>
轉換成十進位
3.請將
(115.875)10 <10是小字的>
以單精確度浮點表示法表示
4.試說明為何2的補數表示法可以較最高位數表示法多表示1個數?
1 Answer
- 小白Lv 51 decade agoFavorite Answer
1.
369.375(10)
先算整數部分:
369/2=184...1
184/2=92...0
92/2=46...0
46/2=23...0
23/2=11...1
11/2=5...1
5/2=2...1
2/2=1...0
1/2=0...1
所以整數的部分可表示為:101110001
再算小數的部分:
0.375*2=0.75 <= 1
所以小數第一位取0
0.75*2=1.5 >=1
所以小數第二位取1
1.5-1=0.5
0.5*2=1 >=1
所以小數第三位取1
1-1=0結束
所以369.375=101110001.011(2)
2.
E2B9.CD(16)
=(9 5)*16^(3) 2*16^(2) (9 2)*16^(1) 9*16^(0) (9 3)*16^(-1) (9 4)*16^(-2)
=58041.800078125(10)
3.
115.875(10)=1110011.111(2)=1.110011111*2^(6)
sign bit:0
exponential:6 127=133=10000101
mantissa:11001111100000000000000
所以浮點數表示法為:1 10000101 11001111100000000000000
4.
2的補數表示法(two's complement),是現時電腦系統內最常用來表示正負整數的方法。
設n為字長。若a為正整數,將a和-a的二進制補碼加起,結果必為0(00...0)。
因此,電腦最大能表示2n − 1 − 1,最小能表示 − 2n − 1。
例如3位二進制補碼:
二進制補碼 十位數
011 3
010 2
001 1
000 0
111 -1
110 -2
101 -3
100 -4
這套系統對電腦的優勢可考慮下面的例子:在4位二進制補碼系統,計算3 (0011)加 -1
(1111)。表面上,答案是10010,但摒除了最左方多出的第5位元後,便得到正確的0010。
最高位元表示法:
負數,除去符號位,其他都和相應的正數一樣。因此,它最大可表示2n − 1 − 1,最小可表示 −
2n − 1 1。
符號數值 十位數
011 3
010 2
001 1
000 0
100 -0
101 -1
110 -2
111 -3
因為最高位元表示法的0有兩種表示方法,所以在負數的方面就比2的補數表示法少一個表示數字所以總共2的補數表示法可以較最高位數表示法多表示1個數
Source(s): 自己&網路