Re: [請益] 為什麼電腦資料要用16進位

看板ask-why作者 (沒有靈魂的人)時間16年前 (2009/06/03 01:12), 編輯推噓9(9042)
留言51則, 5人參與, 7年前最新討論串3/7 (看更多)
※ 引述《kenin (風起雲湧)》之銘言: : 標題: [請益] 為什麼電腦資料要用16進位 : 時間: Tue Jun 2 22:30:34 2009 : : 我知道電腦本身所讀取的都0跟1 : 而在儲存資料時為何要用16進位而不用8進位或32進位 : 如果電腦儲存時改用8進位或32進位會有什麼差別 : : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 122.123.169.247 : → leoblack:16進位是否是指"有16個欄位可以紀錄1/0的資訊"?! 06/02 22:34 : → kenin:8進位=3個bit 16進位=4bit 32進位=5bit 06/02 22:39 : → yhliu:有的電腦系統是採用8進位的, 當然基礎仍是2進位. 06/02 22:45 : → sitos:糟... 我連問題都看不懂. 06/02 23:40 : 推 ot32em:應該跟組合語言的 BYTE(1byte), WORD(2byte), DWORD(4byte) 06/02 23:46 : → ot32em:怎麼樣也不會 DWORD會來個2.25byte 有點不太乾跪~ 06/02 23:47 : 推 HuangJC:一切都是人類的解釋,不過我們溝通時想要有共通的專有名詞 06/02 23:54 : → HuangJC:一般來說,5V為1,0V為0 ; 但事實上 5V為0,0V為1 亦無不可 06/02 23:55 : → HuangJC:因為開關明顯有兩態,所以我們發展了二進位數學,並且貫串 06/02 23:56 : → HuangJC:CPU 內部的運算系統;但事實上3進位也可以用,多加個 -5V XD 06/02 23:57 : → HuangJC:只是..用了三進位,你就獨門獨戶了..要怎麼和別人談? 06/02 23:57 : → xiaoa:要看是什麼"資料"吧.... 現在的系統不是多採用32bit嗎? 06/03 00:12 : 推 HuangJC:2'進位'和 32'位元' 是兩回事;我們討論'逢2進位'這事就好 06/03 00:16 : → xiaoa:JC說的不對吧...半導體做不到3進位, 只能從2bit降下來, 這樣 06/03 00:17 : → xiaoa:難怪 板主說問題都看不懂..... 06/03 00:17 : → HuangJC:32位元是指有32個2進位的數字;最後..3進位有用,看怎麼解讀 06/03 00:18 : → HuangJC:我們先講完課本上有的東西,因為那是想統一大家字眼的基礎 06/03 00:19 : → xiaoa:原PO說的16進位就是4bit. 他自己推文不是說了....... 06/03 00:20 : 推 HuangJC:他的說法是對的,只是同時混用'位元'和'進位',有人搞混了 06/03 00:26 : → HuangJC:所以把字眼再單純化,說電腦只懂二進位,會比較好談 06/03 00:27 : → xiaoa:原PO不是問,為何單位元不是3進. 是問,為何用4位元,不用3、5 06/03 00:30 : → xiaoa:3樓不是說了嗎...... 06/03 00:31 我不能很精準的回答原PO的問題 而我只是略懂, 所以有錯勿怪 --回應JC大--離題離很大-- 目前, 電腦所用的運算單元是由半導體電路組成的 對電路來說, 電流是類比訊號, 要多少進位都不是問題 但基本上, 我們為了要運算, 必須在電路上增進"開關" 這些開關, 便是半導體 每一個半導體都能很直接的代表 開 和 關, 即 一個二進位的一位數字 試問半導體是不是可以表示 三進位? 假設今天有 0V, 5V 10V, 半導體 在5V時導通 一個半導體無法分辨 5V 和 10V的差別. 也許電流大一點, 但它就是無法分辨 這時, 如果我們使用 二個半導體 + 適當的電路設計, 我們就能分辨 0,5,10的差別 所以, 接論是: 半導體能夠表示三進位 但是這裡有個漏洞 我們使用了二個半導體 二個半導體實際上能代表四進位 我們卻只用了三個數字, 那其不是浪費?? 這就是為甚麼電腦多是以二進位做為基礎,4進位,8進位,16進位的運算 如果電子儀器的設計, 其運算單元並非半導體, 那它不是2進位並不奇怪 希望這樣有回答到 JC大 --原PO的問題-- 在早時候, 半導體晶元還很大 運算時要盡量節省, 所以要用較少的 bit來代表一個"字元" (PS: 在硬體上會預留空間給字元, 也就是資料為01, 4bit硬體只能以 0001 表示) 但是, 字元有必要為人所容易理解的介面(要不然誰看得懂101010110是啥鬼) 例如早期的文字是使用 8bit(更早期沒有文字就只用4bit囉) 那時候根本只有美國做為主流,在開發、應用電腦, 8bit就足夠了 後來多國語言加入 8bit逐漸被淘汰 這其中還牽涉到轉換 機械語言 <-> 低階語言 <-> 高階語言 機械語言就是 10101 高階語言是各種程式編寫碼 低階語言是...不知道怎麼減略說明 http://0rz.tw/323hv 不知道是那一個部分在使用 4bit, 或者說現在還在使用 我只知道現在集成電路技術、高階語言都很發達, 很闊氣的使用32bit、64bit Orz 這問題常常到處有人討論, 建議原PO到處爬爬文看看 (我自己也沒爬文....逃~) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.244.42

06/03 01:16, , 1F
你也說了,不是做不出來,是成本考量;而成本考量一直在變
06/03 01:16, 1F

06/03 01:16, , 2F
我說的是真的,不過最後總會出現主流啦;沒看過規格大戰嗎?
06/03 01:16, 2F

06/03 01:17, , 3F
如果成本考量是很單一的答案,就不會有規格大戰了
06/03 01:17, 3F
你要看做成本也可以. 我覺得這只是有沒有充分利用的問題 這樣看就懂了 10進位 2進位 2進位模擬3進位 0 0 00 -> 0 1 1 01 -> 1 2 10 10 -> 2 3 11 100 -> 10 4 100 101 -> 11 9 1001 10000 -> 100 10 1010 10001 -> 101 3進位每個byte是由二個2進位位元組成 這種轉換,在數字越來越大時, 如10進位的10, 用 2進位模擬3進位的結果, > 10進位 2進位 2進位模擬3進位 > 10 1010 10001 -> 101 ^^^^^ 如果10001,當成真正的2進位,看在10進位中是17 在擬3進位中卻只能代表10, 足足有 7/17的無意義位元.... ※ 編輯: xiaoa 來自: 140.112.244.42 (06/03 01:41)

06/03 01:27, , 4F
多位元CPU到後來,用幾顆電晶體是一種成本;但有幾根腳也是
06/03 01:27, 4F

06/03 01:28, , 5F
當聯外腳位不夠,就可能動腦筋想到奇奇怪怪的組合上去
06/03 01:28, 5F

06/03 01:30, , 6F
不過為了和傳統理論結合,一般還是用二進位*多位元解讀
06/03 01:30, 6F

06/03 01:31, , 7F
所謂'電腦用x進位'這樣的字眼是很麻煩的,業者會輕輕帶過
06/03 01:31, 7F

06/03 01:45, , 8F
不會..會直接開發三態電晶體線路,沒那麼多浪費
06/03 01:45, 8F

06/03 01:47, , 9F
你把那些東西拿來利用,它就不再是3進位了, 是2進位... 了不?
06/03 01:47, 9F

06/03 01:48, , 10F
你去看我上一篇修文吧,這個是有在用的,只差我背不出IC型號
06/03 01:48, 10F

06/03 01:48, , 11F
因為你的系統始終是基於 2進位的基礎....
06/03 01:48, 11F

06/03 01:49, , 12F
它不是浪費,倒是種創意;但未接觸該領域前我們不提,因為其
06/03 01:49, 12F

06/03 01:50, , 13F
他東西已經讀得快爆肝了,不會一次都和你提
06/03 01:50, 13F

06/03 01:50, , 14F
這裏有編碼的啦..不是基於2進位;擔心編碼拖慢速度就好
06/03 01:50, 14F

06/03 01:51, , 15F
所以把速度當成一種成本,再混進去,一路規格大戰下來~
06/03 01:51, 15F

06/03 01:52, , 16F
應該說,二進化存在你的電腦螢幕上,方便你解讀;但你如果拿
06/03 01:52, 16F

06/03 01:53, , 17F
一根探針插進電路想讀到二進位..我怕現在電腦不單純了
06/03 01:53, 17F

06/03 01:53, , 18F
所以二進位?那都是在螢幕上,方便你想像的
06/03 01:53, 18F
你想太多了....一切都半導體惹的禍 現在想要開發量子電腦就是希望破除半導體這樣的拘限 量子電腦強並不是因為量子很小, 而是因為量子運算單元可以擁有 0 1 以外的態 ※ 編輯: xiaoa 來自: 140.112.244.42 (06/03 02:47) ※ 編輯: xiaoa 來自: 140.112.244.42 (06/03 02:51)

06/03 02:50, , 19F
這句話拷貝到了字眼,沒拷貝到精神..
06/03 02:50, 19F

06/03 02:50, , 20F
要擁有 0 1 以外的態,不必到量子,我們就辦到了
06/03 02:50, 20F

06/03 02:51, , 21F
如果我今天給你的挑戰是'把 CPU 聯外接腳減半',那就有趣了
06/03 02:51, 21F

06/03 02:51, , 22F
一根接腳只能代表 0 或 1? 不..要代表四種電壓我也想試試
06/03 02:51, 22F

06/03 02:52, , 23F
但回到抽象概念,四種電壓你可以想像成2bit,所以這樣想就好
06/03 02:52, 23F

06/03 02:52, , 24F
有CPU是半導體以外的東西做的,請告訴我,謝謝
06/03 02:52, 24F

06/03 02:53, , 25F
我是說,用半導體就做到了;所以何必改材料呢?
06/03 02:53, 25F

06/03 02:54, , 26F
如果你是增加運算單元的體積, 那跟增加運算單元是一樣的....
06/03 02:54, 26F

06/03 02:55, , 27F
去寫論文吧. 我等你 ~>.^
06/03 02:55, 27F

06/03 02:56, , 28F
接腳空間愈來愈不夠用,而CPU內部卻愈做愈密;新的成本問題
06/03 02:56, 28F

06/03 02:56, , 29F
你看懂我上一句就夠了,幹麻有論文..
06/03 02:56, 29F
你只告訴我, 半導體除了體現"通電"和"不通電"以外, 還有什麼第3態就夠了 真的也不必寫什麼論文 ※ 編輯: xiaoa 來自: 140.112.244.42 (06/03 02:59)

06/03 02:58, , 30F
接腳不夠的一個方法,是重覆使用接腳(分時態),但要加快時脈
06/03 02:58, 30F

06/03 02:58, , 31F
而加快時脈也是一種成本;反正就一直競爭啦~
06/03 02:58, 31F

06/03 02:59, , 32F
但不變的是,中央單元像一堆寫好的副程式,已經有很多成品
06/03 02:59, 32F
時脈數再怎麼增加、改變,每一次的運算仍然是2進位的半導體在做...... ※ 編輯: xiaoa 來自: 140.112.244.42 (06/03 03:01)

06/03 03:00, , 33F
(硬體描述語言)所以很少人會自找麻煩,寫不一樣的東西
06/03 03:00, 33F

06/03 03:01, , 34F
我剛不是說了,-5,0,+5 這三種電壓就可以三態了嗎?
06/03 03:01, 34F
我上面說過了, 請問你的第三態是什麼? 半通電? 超通電? 非常不通電? ※ 編輯: xiaoa 來自: 140.112.244.42 (06/03 03:03)

06/03 03:02, , 35F
我們不會讓這想法入侵到中央單元,你寫組語也開心的當2進位
06/03 03:02, 35F

06/03 03:03, , 36F
就好;但是週邊,或晶片間,那就各顯神通了
06/03 03:03, 36F

06/03 09:32, , 37F
我認為Xia不必再回,這非本行的容易聚焦錯誤。
06/03 09:32, 37F

06/03 09:33, , 38F
Xia你講的夠清楚了,真想知道,白色算盤本唸通就行。
06/03 09:33, 38F

06/03 09:54, , 39F
現在的CPU都是用二進位為主的邏輯閘兜出來的吧
06/03 09:54, 39F

06/03 09:55, , 40F
如果要用三進位可能整個邏輯系統都要重新發展..
06/03 09:55, 40F

06/03 10:13, , 41F
對,是成本的問題;但在特殊用途或非主流時還是看得到
06/03 10:13, 41F

06/03 10:14, , 42F
目前就算內部不是這樣做,在抽出介面時還是會做成這樣子
06/03 10:14, 42F

06/03 10:15, , 43F
到最後我們無法以 bus 寬度來當標準,可能是以 ALU 當標準
06/03 10:15, 43F

06/03 10:16, , 44F
那 ALU 是以二進位運算嗎?(比如加法,是一個一個位元疊加?)
06/03 10:16, 44F

06/03 10:17, , 45F
也不是,事實上多位元疊加用查表比較快;但你畢竟可以用位元
06/03 10:17, 45F

06/03 10:17, , 46F
疊加來理解它.那我們又以ALU能控制的最小單元來定義嗎?
06/03 10:17, 46F

06/03 10:19, , 47F
如果我們用 CPU 邊界接腳來定義,那怎麼又對混合型 IC 視而
06/03 10:19, 47F

06/03 10:20, , 48F
不見?我用過18條位址線的 IC,一道指令就發出 SIN 波
06/03 10:20, 48F

06/03 10:21, , 49F
這個是專用用途 DSP,數位及類比 IC 的混合
06/03 10:21, 49F

06/03 10:22, , 50F
更妙的是現在燒錄 IC 大行其道,可以取得授權自己燒..
06/03 10:22, 50F

01/06 23:40, 7年前 , 51F
這個是專用用途 DSP http://yofuk.com
01/06 23:40, 51F
文章代碼(AID): #1A9Lrc8G (ask-why)
討論串 (同標題文章)
文章代碼(AID): #1A9Lrc8G (ask-why)