tft每日頭條

 > 圖文

 > 怎樣快速學會使用二進制

怎樣快速學會使用二進制

圖文 更新时间:2024-11-19 21:42:38

怎樣快速學會使用二進制(用的這麼多年的二進制)1

誰能書閣下

白首太玄經

大家都知道計算機是靠數字 0 和 1 的二進制進行存儲和運算的。二進制的基數是2,逢二進一,退一當二

怎樣快速學會使用二進制(用的這麼多年的二進制)2

知道歸知道,可沒人好奇為什麼偏偏是二進制?畢竟計算機是給人用的,非要兩種進制來回折騰一下不是很反人類麼

二進制裡随便一個數字就是長長一串,根本看不懂。連程序員也是用編程語言,而不是直接用 0 和 1 跟機器交流。

直接在機器碼上 debug 的 Jeff Dean 大神除外

怎樣快速學會使用二進制(用的這麼多年的二進制)3

我們有十個手指,十進制用起來如臂指使;一天 24 小時,一個小時 60 分鐘,這些常用進制怎麼都要更好理解吧

怎樣快速學會使用二進制(用的這麼多年的二進制)4

雖說有時候科普時直接就用“ 機器隻聽得懂 0 和 1 ”蒙混過關了,不過這也是人賦予的規則,有了合适的材料和邏輯也能改變。

其實最重要的原因,是計算機剛出現的時候,二進制最好整了。

二進制電路簡單好實現,運算邏輯還能直接套用現成的布爾代數,省力省事。

計算機靠電路中的高低電平變化就能分别表示 0 和 1

怎樣快速學會使用二進制(用的這麼多年的二進制)5

這一整就一直整到了現在,幾十年來二進制計算機越來越先進,各方面的硬件也逐漸完善。現在你手上的手機,花了大把鈔票的顯卡,女神的照片,最愛的遊戲,靠的全是二進制。

可差友們知道麼,在理論上二進制并不是最有效率的那個

怎樣快速學會使用二進制(用的這麼多年的二進制)6

也就是說,如果用的不是二進制,我們可能早個幾年就過上現在的生活了,面前這塊糟心屏幕可能沒有劉海沒有水滴也沒有孔。

那為什麼不用最有效率的那個!是嫌科技太發達了還是 GTA 6 等的不夠苦?

怎樣快速學會使用二進制(用的這麼多年的二進制)7

倒不是那時候的科學家們偷了懶,也不是從理論上說,e 進制才是信息表達的最優進制

e 的大名叫自然常數,也叫歐拉數,是個數值大約是 2.71828 的無限不循環小數。高中數學提過,記不清的差友把它當成 π 一樣的東西就好。

當 n 越來越大時,(1 1/n)n 的值越來越趨近 e

怎樣快速學會使用二進制(用的這麼多年的二進制)8

可能有差友更奇怪了,進制這種東西又不是量化的具體數字,怎麼比啊?

曾經有古希臘哲學家問過萬物的本源這個問題。對此,畢達哥拉斯的回答是 “ 萬物皆數 ”,他認為一切都可以通過特定模型轉化成數字

怎樣快速學會使用二進制(用的這麼多年的二進制)9

雖然晚了畢達哥拉斯幾千年 , 但進制在計算機上的優劣問題同樣可以量化成直觀的數字。

進制表達信息的能力等于表達的信息量與消耗資源的比值

怎樣快速學會使用二進制(用的這麼多年的二進制)10

比如說我們要用二進制用 8 位數據來表達信息,那麼每一位上都有 1 和 0 兩種可能。

8 位就有 28 種不同的排列方式

怎樣快速學會使用二進制(用的這麼多年的二進制)11

也就是說,二進制在 8 位 數據上能夠表達 256 種不同的信息内容

而為了表達這些數據每一位上都需要有 0 和 1 兩種不同形式,8位數就需要消耗 2 × 8 = 16 個用來表達信息的元件

怎樣快速學會使用二進制(用的這麼多年的二進制)12

按照之前的量化公式,我們就可以得到二進制在 8 位數據上的效率是:

256 ÷ 16 = 16 。

當然,我們不可能一個個進制、位數算過來,估計很多差友都想到了,直接代數化就好了

怎樣快速學會使用二進制(用的這麼多年的二進制)13

假設我們要用 x 進制表達 n 位的數據信息,和之前二進制表達 8 位數據同理:

一共能表達 xn 種不同的信息内容,需要消耗 nx 個表達信息的元件。

x 進制的效率就是 xn / nx

怎樣快速學會使用二進制(用的這麼多年的二進制)14

雖然一堆未知數,其實和分數一個道理,分子不變的情況下,分母越小,得數就越大。

所以消耗的資源 ( nx ) 越小,這種進制的效率就越高

抽獎時分母越少,中獎概率也越高,可我從來隻是分母

怎樣快速學會使用二進制(用的這麼多年的二進制)15

溫馨提示:下方為推導過程,不感興趣可直接略過看結果。

信息量 I = x^n

消耗的資源P(x)=nx

x進制的效率=x^n/nx

P(x)一定時,x^n最大

[P(x)/n]^n

ln{[P(x)/n]^n}

=[lnP(x)-lnn]n

=nlnP(x)-nlnn

lnP(x)-1-ln(n)=0

n=P(x)/e x=e

前面也提過, e 的值大概是 2.71828 左右,也就是 “ 2.71828 進制 ”是理論上最好的進制。

但是 2.71828 進制是個什麼鬼???我數數手指還得掰折 0.28172 根手指

還是得找個整數,不然工業上可能沒法實現了。。。因此和這個數更接近的 “ 三 ”應該是墜吼的

得到結論:數據表達上效率最高的是三進制,其次是二進制

三進制... 3 ?似乎聯想到了什麼

怎樣快速學會使用二進制(用的這麼多年的二進制)16

雖然三進制效率更高,但是卻沒有合适的運算邏輯和簡易的實現方式

即使是更好實現的二進制,第一台通用計算機 ENIAC 也需要三萬多個電子元件,五百多萬手工焊接頭,功率達到了驚人的 150 千瓦

電就是錢啊我的朋友!簡單的都這麼耗電,更複雜的誰試的起。

當地居民總覺得,每當這台計算機啟動的時候,全城的燈都變暗了

怎樣快速學會使用二進制(用的這麼多年的二進制)17

不過随着科技的發展,這些問題已經得到了解決。

比如科學家們基于波斯特函數優化了三進制的運算邏輯,用對稱的雙電源供電實現正向飽和導通、負向飽和導通、不導通 3個穩定狀态等等。

可這早就是若幹年後的事了。科學家們吭哧吭哧解決了這些問題後,卻絕望的發現,二進制早就以指數級的增速飛的沒影了。

世界上最遙遠的距離是你剛斷線重連,而對線的人已經超神了一整局

怎樣快速學會使用二進制(用的這麼多年的二進制)18

就跟玩了很久,排名靠前的網遊大号,就算明知道沒選上最強勢的職業,也少有人會下決心從零開始玩小号。

更别說是在越來越離不開計算機的今天,抛棄發展完善的二進制體系

說點看得見的,連現在的硬件體系都要洗牌,一張張燃氣竈都成了擺設

怎樣快速學會使用二進制(用的這麼多年的二進制)19

不過暗戳戳練個強勢職業的小号的人還是有的,萬一哪天大号下水道了,誰說得準啊?

最早蘇聯是直接當大号玩的:在 1958 年制造三進制計算機的 Setun ,1970 年的增強版 Setun 70 ,都是當時的頂尖算力。

蘇聯造-三進制計算機 Setun

怎樣快速學會使用二進制(用的這麼多年的二進制)20

當然随着蘇聯解體,三進制計算機也混入了曆史的塵埃,西方國家也一直沒能複現 Setun 。

到了今天,芯片的制程越來越小,半導體逐漸靠近了量子這個玄學領域。就像開了等級上限的⽹遊,二進制發展不動了, 三進制的機會就來了。

之前練沒練的小号都開始了。

怎樣快速學會使用二進制(用的這麼多年的二進制)21

三進制最顯而易見的好處是同樣的信息需要的元件數更少,芯片的制程就可以稍微大上那麼一點點,拖延半導體進入量子這個說不清道不明的玄學領域的時間。( 雖然從底層改變并不那麼實際 )

怎樣快速學會使用二進制(用的這麼多年的二進制)22

多出來的一個數字,也給了三進制多一種可能性

二值布爾邏輯雖然讓二進制飛速發展,但也讓二進制裡隻有“ 真 ”,“ 假 ”兩種狀态。從認知來說,也許真、假、不确定三種狀态才更符合人腦的思維。

也許少了“ 不确定 ”狀态,才是智能變制杖的原罪,或許在三進制的邏輯下 AI 就能真正智能了呢?

在競争激烈的量子領域,本身就會多一種額外的狀态,不确定的疊加态

而這多出的狀态,剛好可以用三進制比二進制多出來的那個數來表達

怎樣快速學會使用二進制(用的這麼多年的二進制)23

今年中國物理學家郭光燦和中國科技大學( USTC )的同事就成功完成了三進制 qutrit 量子信号的傳輸,這也是科學家們在量子領域第一次成功的三進制研究。

怎樣快速學會使用二進制(用的這麼多年的二進制)24

之前在隻有經典計算機時,三進制研究的意義可能隻是技術積累,但正是這些積累,催生了真正改變我們生活的技術。

而現在,對于研究三進制的科學家來說,二進制雖然有龐大成熟的工業體系,但已經微微呈現疲軟:你已行至終局,而我才剛剛開局,但很快你就會發現,我們根本不在一張棋盤上

“ 變不可能為可能,才是科技的魅力 ”

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved