【★】假如人类使用16进制
? 十進制一直是我心中過不去的一道坎。。
人類社會使用十進制已經(jīng)幾十萬年的歷史了,追根到底它源于遠古智人的手指計數(shù):當(dāng)十只手指記不下時就會找其他記號標記一個“十”,接著從1開始再次用手指記錄,以此循環(huán)。當(dāng)十根可愛的手指頭在眼前不?;蝿?#xff0c;重復(fù)最末位的計數(shù),人們也慢慢習(xí)慣上了這種進位方式,代代相傳。
可不幸的是,現(xiàn)代計算機和二進制密不可分。無論是內(nèi)存地址,硬盤數(shù)據(jù),總線信號還是無線電磁波,都遵循著二進制排列組合的規(guī)則。因為種種原因,兩級對立的普遍性和穩(wěn)定性存在于這個物質(zhì)世界的許多地方:晶體管的開與關(guān)(內(nèi)存),電磁的正與負(機械硬盤),電信號的有與無(數(shù)據(jù)線),波頻的高與低(無線網(wǎng)絡(luò))。
十進制與二進制相距甚遠,且不是次方關(guān)系,這直接造成了許多問題,首當(dāng)其沖的就是:符號匱乏的二進制想要表示一個文件需要排列組合很長很長一串,最重要的是十進制二進制之間的轉(zhuǎn)換比較麻煩。
隨著大腦進化,人類早就脫離了用手指來記10以下的數(shù)量,直接大腦緩存即可,事實上人腦可以輕松駕馭遠大于10的進制計算。只是基因和社會化的緣故,導(dǎo)致我們?nèi)匀灰蕾囉谑M制。
這些窘境該如何解決呢?在這里有一個“不成熟”的方案藍圖:不改變計算機而去改變?nèi)祟愖约?#xff0c;讓人類使用16進制!
正如之前所說,兩極性的普遍實用讓二進制和十進制“相愛相殺”,因為兩極之間的穩(wěn)定性和快速切換性無處不在,就像語言學(xué)中“正反大小高低強弱”這些普遍支持的衡量概念。計算機歷史上曾經(jīng)有人想挑戰(zhàn)這一“盛世哲學(xué)”但均無功而返:第一代美國軍用計算機利用高能耗的電子管cpu試圖實現(xiàn)十進制計算來與人類同步;俄羅斯曾經(jīng)提出的三進制創(chuàng)想最終化為泡沫。對計算機進制的爭議最終還是收斂到無可比擬的二進制。
為什么人類使用16進制會更好呢?這里有兩點原因,第一點原因是為了適應(yīng)計算機。
先來說下計算器核心部件的工作邏輯:
當(dāng)你從輸入設(shè)備上依次寫入十進制數(shù)的每一位之后(注意此時內(nèi)存中是一個用二進制表示每一位的十進制數(shù)),cpu通過算法將它們轉(zhuǎn)化成一個完整的二進制數(shù)(通常分配一個4字節(jié)的空間用于存儲)。之后就開始了二進制數(shù)之間的數(shù)值運算,也就是經(jīng)典的邏輯運算實現(xiàn)加減法,加減組成乘除,算出結(jié)果后再通過一個二轉(zhuǎn)十進制的算法輸出。
邏輯電路在這個過程中,十與二進制之間的轉(zhuǎn)換計算所消耗的時間要遠大于單純的兩個數(shù)之間的四則運算,這就是存在的“不合理”之處。
為解決這個矛盾,聰明的程序猿們提出了模擬豎式計算的“十進制算法”,這種辦法直接繞過了數(shù)制轉(zhuǎn)換。在內(nèi)存或緩存中,數(shù)是直接以十進制的形式存放的,最終通過每一位十進制數(shù)字之間的二進制計算,同時模仿十進制的進位規(guī)則,最終得到的結(jié)果自然也是十進制的。這種算法還突破了4Byte存儲的限制,讓計算更靈活。
But,仿豎式計算的致命缺陷仍然在存儲上,因為至少要用一個字節(jié)來存儲位數(shù)字,可惜一個字節(jié)可以表示256個不同數(shù)字,運用在十進制上面顯然很浪費,即使只用4個比特也也會損失一半以上的資源浪費。可想而知,這種算法只適用于“連續(xù)計算但不連續(xù)輸出”的情況,存儲時還得轉(zhuǎn)成二進制,再加上浮點數(shù)的負數(shù)的限制讓這種算法難以大規(guī)模使用。
大整數(shù)豎式乘法的核心算法說來說去,矛盾的核心還是停留在進制的轉(zhuǎn)換問題上。這時請調(diào)用我們靈活的大腦,發(fā)揮想象,順便回到主題“16進制”。眾所周知2進制轉(zhuǎn)16進制是相當(dāng)簡便與直接的:一個16進制數(shù)字與4位二進制數(shù)一一對應(yīng),即實現(xiàn)了空間充分利用又大大降低了轉(zhuǎn)換的成本,直接加快了OSI參考模型中“應(yīng)用層”的執(zhí)行速度,簡直是完美。如果人類從一開始就使用十六進制生活工作,到20世紀伊始又邂逅了可愛的圖靈計算機,那么此時的我們將多么受益啊!
還有,人類最好使用16進制的第二點原因是:有助于人類自己。十進制對于我們的大腦的計算和記憶能力來說過于簡單容易了,16進制更豐富的表示能力可以讓人們的生活潛移默化地趨向多樣化,滲透到我們的語言和文化的種種方面,激發(fā)大腦的智力,提升大腦的思考。雖然聽起來很抽象,卻是個不爭的事實,只可惜人類進化史讓我們沒能長處8根指頭,不然這個世界會是個全新的面貌哦。
所以請容許我提出一個目前看似無法實現(xiàn)的夢想,就是“全民改用16進制”。此愿望若是成真,將是多么大的一個進步啊。可見社會固化并不全是好處,正確的變革還是由少數(shù)人完成的哈,也許未來會有越來越多人意識到這一條可持續(xù)發(fā)展的新方向。
?
轉(zhuǎn)載于:https://www.cnblogs.com/jinhengyu/p/10258003.html
總結(jié)
以上是生活随笔為你收集整理的【★】假如人类使用16进制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 193. 有效电话号码
- 下一篇: 第二周冲刺第四天个人博客