Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。
位址計算位元數
1)一個位址是幾位元數??
2)若一個位址從0x3F0000~0x3F3FFF , 那這長度是多少?
3)若一個長度為16K x 16 bit , 請問這是什麼意思?
是指二進制還是什麼嗎 ??
4) 為什麼1K= 1024 = 2的10次方?
3 個解答
- spongeLv 67 年前最佳解答
1)
如同意見大大所言,看硬體的定址能力
不過這裡指硬體應是 storage, 不是整個 CPU (含 ALU, control unit 等)
但應用程式看到的位址應該是由虛擬記憶體大小決定
如 32-bit 作業系統只支援 4GB 虛擬記憶體
裝在 64-bit CPU 硬體上,定址能力也只有 32 位元
2)
意見大大已經給出完整答案
0x3F3FFF - 0x3F0000 + 1 = 0x004000 (Bytes), 是 16KB
3)
請參考意見大大的答案,非常完整
4)
2 的次方在電腦裡最大好處是
以「位移」代替除法運算,大大提升效能
就跟人類喜歡「整數」也就是「百」、「千」等
因為人用的是十進位,一眼把數字切兩段就看出幾個「百」
而電腦用的是二進位,當然選用二的次方取得這種效率
恰好 2 的 10 次方是 1024 很接近 1000
於是定 1024 為 1KB 電腦與人雙方都能接受
不過也由於數字太接近而讓我們常混淆,到底 K 是 1024 還 1000
希望如上回答對您有幫助!
- prisoner26535Lv 77 年前
2. Answer = 0x3F3FFF - 0x3F0000 + 1 (Bytes)
4. 看也知道電腦會喜歡後面那個。
2014-09-20 23:23:07 補充:
4. 電腦沒有感情 哪一個都不喜歡 只有我的電腦感情豐盛 去只愛跟我做對 所以她一定是喜歡後面.
- ?Lv 57 年前
1. 誰知道,要看你硬體的定址能力吧?
2. Answer = 0x3F0000 - 0x3F3FFF + 1 (Bytes)
3. 意思就是 長度 = 16*1024 * 16 (bits)
4. 因為對於數位電腦來說,1024 是個很好的整數,就像我們算錢的時候喜歡一百一百算,不喜歡零頭是一樣的。
1024 以二進位表示為:10000000000
1000 以二進位表示為:1111101000
看也知道電腦會喜歡前面那個。
2014-09-20 22:58:28 補充:
哈哈,打太順了!
我剛剛才發現我第二題居然是小減大耶。
不過 26535 大大提示的第四題我就不懂了,為什麼電腦會比較喜歡 1111101000 而不是 10000000000?