從程序員節說起怎麼就1024了

首先祝各位IT從業者昨天節日快樂,其實也沒啥快樂不快樂的,老闆也不會真的給放假,老師也不會真的給放學,還是得該噶哈嘎哈。


從程序員節說起怎麼就1024了


但是怎麼就忽然多出來這麼個1024節呢?雙十一是因為1111全是單數,天煞孤星,那這個1024是為啥呢?


相信學過計算機的同學對1024這個數字立刻就敏感起來了,這不就是那個那啥嘛,1k=1024bit,1M=1024k,1G=1024M.彷彿這是一件天經地義的事情一樣。


但是實際上我們知道1kg=1000g,1km=1000m。這個時候的1k明顯等於1000嘛,這又是為啥呢?


從程序員節說起怎麼就1024了

一、單位冠的故事


要講清這個問題,我們就要從單位詞冠這個概念說起,實際上和kg是由k這個代表10^+3(10的正三次方)的單位詞冠和g這個單位來組成的。這種例子還有很多比如中式的單位詞冠有百千萬億,西式的單位詞冠有k(千)M(兆)n(納)等常見單位冠。


根據《中華人民共和國法定計量單位》規定,我國使用的詞頭如下表。括號內的字可在不致混淆的情況下省略。(10^24表示10的24次方)


從程序員節說起怎麼就1024了

大家可以發現一個很明顯的特徵就是以10的3次方為分割



而中國也有自己傳統的計數方法:

大數為:十、百、千、萬、億、兆、京、垓、秭、穣、溝、澗

小數為:分、釐、毛、糸、忽、微、纖、沙、塵、埃、渺、漠

大數從萬開始開始以10的四次方變之,比如,萬萬為億,萬億為兆,萬兆為京。


這是中外的不同,外國用10的三次方,中國用10的4次方。


同時大家可以看到,很多單位在中國傳統計數方法和國際計數方法中是混用的。


這也造成一些麻煩,比如兆這個單位,在國際單位冠語境下是10的正6次方,但是在中國傳統語境下是10的正12次方,與國際單位冠中的太是一樣大的。


從程序員節說起怎麼就1024了



這種差距一直延續到現在,在中國大陸我們說起來“兆”就是10的6次方,而臺灣地區則表示10的12次方。有一個健身品牌叫一兆韋德,他的標識是10的12次方,用的就是中國的傳統計數,如果用國際計數的話,應該叫一太韋德了。

從程序員節說起怎麼就1024了

是不是順便給人家做了個廣告?


2、1024的故事


好,說完單位詞冠,我們再回過頭來談談1024的故事。為啥好好的1000不用,非要用1024呢?


我們知道,人類是一個主要使用10進制的民族,雖然其他進制也在各個民族的歷史上有過使用(比如中國用過16進制,不然怎麼會有半斤八兩這個詞,算盤也能看出來16進制的痕跡),但是一直不成氣候。


但是計算機由於原理的特殊性,用的是2進制,所以2進制的單位在計算機科學裡有天然的優勢。


從程序員節說起怎麼就1024了


所以IT從業人員天然的使用了2的10次方1024作為k的詞冠,而西方傳統是每個單位之間隔1k,所以1M就成了1024k。



從程序員節說起怎麼就1024了



但這不是故事的全部,實際上在計算機科學裡1k=1024和1k=1000也是混用的。


從程序員節說起怎麼就1024了


比如我們在說傳輸速率的時候1Mbps=1000kbps




一般的規律是在談網絡和總線傳輸的時候,我們用1000


在談操作系統的時候,我們用1024


在談存儲的時候我們用1024


但是後來據說是硬盤廠商想買的更好點,所以大家的“行標”就改成了1000了,所以大家在買回來硬盤的時候感覺硬盤都變小了。


大家有興趣可以看下這篇文章:http://mini.eastday.com/bdmip/180830145324775.html#


好了,今天的故事講完了,如果各位覺得好,請轉發一波吧~靴靴大噶~


分享到:


相關文章: