我的計概作業Part-2

1. 請將

(369.375)10 <10是小字的>

轉換成二進位

2.請將

(E2B9.CD)16 <16是小字的>

轉換成十進位

3.請將

(115.875)10 <10是小字的>

以單精確度浮點表示法表示

4.試說明為何2的補數表示法可以較最高位數表示法多表示1個數?

1 Answer

Rating
  • 小白
    Lv 5
    1 decade ago
    Favorite 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): 自己&網路
    • Login to reply the answers
Still have questions? Get your answers by asking now.