Re: [問題] 兩題數字系統的問題

看板TransCSI作者 (Cannon)時間13年前 (2012/08/21 15:57), 編輯推噓2(201)
留言3則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《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)

08/21 16:45, , 1F
1的補數中全為1不是代表0嗎?
08/21 16:45, 1F

08/21 16:46, , 2F
第二題 需要 97~100bits的話 不是應該選D?
08/21 16:46, 2F
97~100應該離90比較近吧 ※ 編輯: CaptainH 來自: 120.126.194.178 (08/21 18:00)

08/21 18:04, , 3F
不過選90的話 不就沒辦法包含所有的可能數字了?
08/21 18:04, 3F
文章代碼(AID): #1GCp-7W8 (TransCSI)
文章代碼(AID): #1GCp-7W8 (TransCSI)