看板 TransCSI 關於我們 聯絡資訊
※ 引述《yunruo ()》之銘言: : 大家好 : 想請問兩題關於數字系統的問題 : 第一題 : 用 n 個 bits 以 1 的補數法表示整數,其範圍 : A. -2^(n-1) -> 2^(n-1) : B. -2^(n-1)-1 -> 2^(n-1)-1 : C. -2^n-1 -> 2^n : D. -2^(n-1)-1 -> 2^(n-1) : E. -2^(n-1) -> 2^(n-1)-1 : Ans: A (這題是不是錯了呢? MSB (最高位的 bit) 用來代表正負號, MSB 之後的 n-1 bits 用來表示數值 範圍從 10000...0 ~ 011111...1 (二進位) -[ 2^(n-1)-1 ] ~ 2^(n-1)-1 (十進位) 沒有答案 : 第二題 : 一個 10 進位數字有 30 個 digit,則它的二進位表示大約有多少個 digit? : A. 30 : B. 60 : C. 90 : D. 120 : E. 150 : Ans: C : 謝謝 假設這數字是 n, 則 10^29 <= n < 10^30 兩邊同取 log2, 29*log2(10) <= n < 30*log2(10) 96.xxx <= log2(n) < 99.xxx ( log2(10) = 1 / log10(2) ~= 1/0.3010 ~= 3.3xxx ) 所以 n 用二進位表示大約要 97~100 bits, 選 C. 或是用估的, 2^10 = 1024 ~= 10^3 所以 10^30 = (10^3)^10 ~= (2^10)^10 = 2^100 ==> 選 C -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.126.194.178 ※ 編輯: CaptainH 來自: 120.126.194.178 (08/21 16:01)
yunruo:1的補數中全為1不是代表0嗎? 08/21 16:45
yunruo:第二題 需要 97~100bits的話 不是應該選D? 08/21 16:46
97~100應該離90比較近吧 ※ 編輯: CaptainH 來自: 120.126.194.178 (08/21 18:00)
yunruo:不過選90的話 不就沒辦法包含所有的可能數字了? 08/21 18:04