使用十六進位的源由是什麼

為什麼IBM在1963年會想要在電腦中使用16進位呢??如果是嫌二進位不容易看,為什麼不是十進位十二進位..偏偏是十六進位,是有什麼原因嗎??16進位又是由誰發明的呢?

3 Answers

Rating
  • MH
    Lv 4
    1 decade ago
    Favorite Answer

    來不及回答你的意見,就看到你把問題貼出來了!

    延續之前的回答

    http://knowledge.yahoo.com.tw/question/question?qi...

    根據著名電腦科學家唐納德·克努特(Donald Knuth)所著《電腦程序設計藝術》(The Art of Computer Programming)的第二冊(4.1節)中提到進位系統(positional number systems),包含了20/60/10/2/8/16進位的歷史。文獻中記載最早使用16進位的是一位美籍(瑞典後裔)土木工程師約翰·奈斯托(John Nystrom),奈斯托在1863年發明了一套「音調系統」(Tonal System)來讀16進位碼(詳見http://en.wikipedia.org/wiki/John_W._Nystrom)%EF%B...

    有關16進位的歷史可參考

    http://groups.google.com/group/sci.math/browse_thr...

    至於IBM為什麼使用16進位,這得提到1963年以前的電腦多使用2進位碼或10進位碼來寫程式(大多是機器語言Assembly language),硬體設計上也是用2進位或10進位的運算元。像IBM 在1959年發售的IBM 1620可稱是一部10進位的電腦,所有的指令和數字資料都是用10進位碼,這讓使用者比較好上手。但是設計10進位的計算元比較複雜,而且使用的控制線路及材料也比較多,以製作成本的考量上比較不划算,在加上已有編譯器(compiler)將程式語言(如COBOL和PL/I)轉換成機器碼,而且不需要像機器語言在更新機器時就得從新改寫程式,因此10進位的電腦就不那麼風行了。在1964年IBM推出System/360,將所有的機器語言中所使用的數據或是記憶體的位址都改成16進位的。16進位和2進位之間的轉換成相當容易,所以選擇16進位是順理成章的。

    至於不選擇12進位,這和2進位12=3*2^2不是剛好是2^n,而16=2^4。如果選用12進位,要增加許多電路來轉換成2進位。

    那為什麼不用8進位呢?這和暫存器(register)的大小有關。那時大部分電腦的暫存器是8或16或32位元(bits),如PDP-11的暫存器是8位元,而IBM 360是32位元(較低價的IBM 360/20的暫存器只有16位元)。如果是在PDP-11上,一個8進位碼可代表暫存器的內容;如果是在IBM 360上,要用4個8進位的數字才代表暫存器的內容,若改用16進位時,只需要用2個16進位碼即可。代表暫存器的內容的位數較少的話,可節省解碼時所需的電路。不過在某些老的大型電腦上有24位元的暫存器,使用8進位碼就很方便了。

    另外提個小故事,在1964年IBM推出360之後,因為所有的機器語言中的數據或是記憶體的位址都是用16進位的。有一位工程師抱怨說:「使用16進位是一個大錯誤,因為我們人類是慣用10進位的。」另外,使用者需要有點數學底子才會使用16進位碼,這增加了寫程式的複雜度,所以程式師(programmer)不再坐在電腦的終端機前來寫程式,通常他們會寫把程式寫好(在卡片上),再將卡片交給操作員(operator),之後再來拿執行的結果。(http://www.cnn.com/TECH/computing/9907/06/1964.idg...

  • Anonymous
    6 years ago

    到下面的網址看看吧

    ▶▶http://*****/

  • 1 decade ago

    好像是埃及人為了要計算尼羅河氾濫而研發的數學計算法~~~算面積用的吧~~~

Still have questions? Get your answers by asking now.