計算機組織的資料表示法的問題...

2的補數觀念:

像10110=- 2^4+2^2+2^1 這是公式?

那-1023它的2的補數就是等於1023的2補數??

Update:

2.

17=00010001

(1)If sign-magnitude representation is adopted,please show(-17) in a byte

-17=10010001

(2)if the(-17) in a byte is required to be extended to a word(2byte)for a possible word calculation, please show it in a word format.

-17=11101111------>(符號擴展成2byte)11111111 11101111

Update 2:

(3)What is a nibble?

1 nibble(半位元組)=4 bit

Update 3:

-17=10010001

-17=11101111

為何兩種表示不一樣?什麼觀念?

Update 4:

請問

sign-magnitude

sign-1's complement

sign-2's complement

的中文意思是?

Update 5:

請問...

平均access time

=平均seek time+ 平均 rotate time+ date transfer time

平均的意思是要 乘以1/2,那為何date transfer time不用乘以1/2

access time= seek time+rotate time+data transfer time+(overhead)---我寫沒錯吧!?

3 Answers

Rating
  • 1 decade ago
    Favorite Answer

    ㄚ旺,有人冒充你喔!

    言歸正傳:

    43210

    101102 = 2^4+2^2+2^1這是所有進位制的數值公式!

    1011010 = 10^4+10^2+10^1

    不過,你的公式有問題!

    第一位數(上面4下的那東東)若代表正負,就不能算進去!

    你的公式把它算進去,是錯的!

    2的補數是電腦普遍在用的整數系統。

    -1023的2的補數就是 1023;

    1023的2的補數就是-1023。

    fedcba9876543210

    0000011111111112 = 102310

    111110000000000 是它的 1補數

    111110000000001 是它的 2補數,就是 -1023

    111110000000001的1補數是

    000001111111110,它的2補數是

    000001111111111 是上面 102310的二進位。

    2008-10-06 19:50:51 補充:

    (1)

    17 = 16 + 1 = 0001 0000(2) + 1 = 0001 0001(2)

    sign-magnitude representation: 一個 sign bit + 數值

    => 1001 0001

    (2) 電腦常用的是2's補數法

    一 byte : 0001 0001 => 1110 1110 +1 => 1110 1111

    二bytes: 0000 0000 0001 0001 => 1111 1111 1110 1110 +1 => 1111 1111 1110 1111

    2008-10-06 19:57:16 補充:

    (3) Nibble 在電腦上不止一種定義。你問的是最常用的一種。

    http://en.wikipedia.org/wiki/Nibble

    (4)

    17=10010001 sign-magnitude法(A)

    -17=11101111 2's 補數法 (B)

    (A) -1 +1 不會自動等於 0!

     會有兩個 0:正0:0000 0000 和負0:1000 0000

    (B) 沒有上述缺點

    2008-10-07 05:23:20 補充:

    sign-magnitude 正負號 後面跟著 數值大小

    1's complement

    2's complement

    沒見過好的翻譯,就叫 1的補數/2的補數

    二進位,一位數只能有 0 或 1。

    把 0 / 1 相反,叫 1的補數。

    把1的補數 +1 叫 2的補數

    為何叫 1的補數?

    是指把它補成進位數 -1 的數。

    所以,10進位9的補數( 9 = 10 -1)

    3的補數是 (10-1) - 3 = 6;6的補數;5 是 4;8 是 2

    所以,把某數的9補數和它相加,必為 9999....9。

    2008-10-07 05:23:41 補充:

    而二進位,2 - 1 = 1,所以是 1的補數

    在二進位,把某數和它的1的補數相加必為 1111...1。

    在10進位,10的補數並不是加起來為10的數,如:2→8、6→3;

    而是加起來變成 1000...0 的數!

    所以,只有最後一位是 2→8、6→3,其它位都是9的補數。

    也就是說:求10的補數,只要先求 9的補數,再加1,就是10的補數。

    在二進位,1的補數只要把 0 / 1 對換即可,不用做減法!

    所以,1的補數很好算。

    而2的補數又只要把1的補數+1(increment),也很好算。

    這就是電腦常用2的補數的原因〝之一〞。

    2008-10-08 19:41:45 補充:

    DISK access time = spin-up time + seek time + rotational delay + datA transfer time

    你的公式:

    1. 沒寫只對 DISK access time

    2. 省了 spin-up time. 它假設那 device 是永遠 spin 的!但不一定!

    加了平均,那就看你怎麼定義了!

    seek time 用 1/2,是把最少移動軌數(0)的時間 + 最大移動軌數的時間,除2

    rotate time 是用最少旋轉時間 + 最大旋轉時間(0.999...圈),除2

       (磁頭到剛好是資料) (磁頭到資料剛跑走)

    2008-10-08 19:41:57 補充:

    data transfer time,理論上也不是常數,或該說是沒那麼簡單!

    只是你們老師/課本也把它簡化了!

    data transfer 也有 latency!也有error lose!

    所以,

    data transer time = latency + time for transfer once + error_rate * time for transfer once * (sectors_per_track -1) / sectors_per_track * max rotation time

    而 error_rate 會隨 device 老化而增加!

  • 6 years ago

    提供企業全程刊登職缺及轉檔,免費客服解說教做,是人資部第一首選,找工作、找人才,提供24H必回覆、獨家工作、自傳急診室、履歷配對、面試教學、職涯測評、TOEIC線上模擬考工作快報、薪資查詢、職場英語…幫求職者快速http://www.jptpex2013.com.tw/

  • ㄚ旺
    Lv 5
    1 decade ago

    愕!!

Still have questions? Get your answers by asking now.