Re: [請益] 為什麼電腦資料要用16進位
※ 引述《kenin (風起雲湧)》之銘言:
: 我知道電腦本身所讀取的都0跟1
: 而在儲存資料時為何要用16進位而不用8進位或32進位
: 如果電腦儲存時改用8進位或32進位會有什麼差別
: 其實會問這個問題是對中文內碼可用的變化所連想的
有改文了,其實這段很重要 :)
可以看出你的觀點及用字,才知道真正的問題
: 現在一個中文字以16進位要用2BYTE=16bit=FFFF(16進位)=65536(10進位)個變化
: 如果用32進位同樣是2BYTE=20bit=VVVV(32進位-我不確定是不是V)=1048576(10進位)
這裏還是有用字述題的問題,我可以猜,但還是會猜錯
基本上 bit,byte,已經是二進位專用語了
2byte 永遠是 16bit
建議你改用 digit 這個字眼來表達幾個'數字元'
32進位用 2digit... 你也許是想說這個吧!
: 1bit=一組0跟1的變化
: 若今天要把所有中文都對應一個內碼(包含簡繁體)
: 那目前2BYTE,65536個變化可能不夠(還是有其它的解決方案?)
: 而以數值來看,以四個bit為一組的16進位來記錄數值
: 一個BYTE可以記錄0~255個變化超過255就要再加1BYTE
: 而以32進位的話一個BYTE是用5個bit但可以記錄0~1023個變化
: 在0~255之間,16進位只要用8bit,而32進位要用10bit來記錄
: 若是256~1023之間,16進位要用16bit要記錄,但32進位只要用10bit來記錄
: 比16進位省空間
以上全部要更正字眼再來討論
省空間與否就難說了
前面我討論過三進位,我有強調過它的概念沒進入中央系統,沒進入 ALU
但不代表它沒在週邊使用;這一切看成本
一張光碟片上面的資料,可以用雷射打上去儲存
光碟片就是週邊了,它一定只儲存 0 或 1 嗎?那..就不一定了
我們現在談很多倍存技術就這樣來的
如果我一個光點可以表達上百種值,而且分列清楚,那當然得這樣幹
最後我會設計一顆讀取 DVD 的 IC,那顆 IC 在傳出資料時是二進位
不代表光點真的用二進位儲存;這一切是看成本架構
但如果是一定只存 0 或 1 時
不管你的中文內碼用幾進位,其實沒有意義
因為我會重編碼成二進位才儲存;那沒省到空間
在 BYTE(八位元) 之下有 NIBBLE(四位元)
一個 NIBBLE 就可以代表一個 BCD digit,用來表達十進位很方便
4*2=8,好像我們嫌不夠用就要發展八位元
而買得到的 RAM 組成八位元 BANK 也很方便,別自找麻煩
電腦的主流也傾向一次計算八位元了
不管 16,32,64位元的電腦,它都還保留有八位元的暫存器
這樣能說電腦以 2^8=256進位在運算嗎?
我們還是說它用二進位,八位元 這樣的字眼好了
而且你觀點的改變其實並無法省到空間
我們可以接著談 RAM 的定址法,我原本以為那叫扯遠
但看來那快進入核心問題了
是有省到 digit,而 digit 太長時,打程式會很長
有這個差別而已
一切都在你人為的解釋裏
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.219.65.16
※ 編輯: HuangJC 來自: 61.219.65.16 (06/03 12:26)
→
06/03 12:48, , 1F
06/03 12:48, 1F
→
06/03 12:49, , 2F
06/03 12:49, 2F
→
06/03 13:02, , 3F
06/03 13:02, 3F
→
06/03 17:12, , 4F
06/03 17:12, 4F
→
06/03 17:50, , 5F
06/03 17:50, 5F
→
06/03 17:50, , 6F
06/03 17:50, 6F
→
06/03 17:51, , 7F
06/03 17:51, 7F
→
06/03 17:52, , 8F
06/03 17:52, 8F
→
06/03 17:52, , 9F
06/03 17:52, 9F
推
06/04 09:03, , 10F
06/04 09:03, 10F
→
06/04 09:04, , 11F
06/04 09:04, 11F
→
06/04 09:04, , 12F
06/04 09:04, 12F
→
01/06 23:40,
7年前
, 13F
01/06 23:40, 13F
討論串 (同標題文章)
ask-why 近期熱門文章
PTT職涯區 即時熱門文章
14
26
83
250