回覆列表
  • 1 # 使用者8439436357493

    說實話這幾個單位很多人會弄混,先放上直觀的對應表:

    1KB = 1,000 Byte1MB = 1,000 KB1GB = 1,000,000 KB1TB = 1,000,000,000 KB

    1KiB = 1,024Byte1MiB = 1,024KiB1GiB = 1,024MiB = 1,048,576 KiB1TiB = 1,024GiB = 1,073,741,824 KiB

    其中,KiB是kilo binary byte的縮寫,指的是千位二進位制位元組

    而KB是kilobyte的縮寫,指的是千位元組

    二者的區別就在於當中的二進位制。我想說道這裡大部分人應該都明白為啥KiB是按照1024換算的了。還記得那個笑話麼,A問程式設計師B借錢:

    A:B,借我點錢吧!

    B:多少?A:1000行不?

    B:湊個整,給你1024吧!

    再說深入一點,這其中其實牽扯了兩種標準:

    國際單位制 SI 制定的十進位制標準和 國際電工委員會 制定的二進位制標準,也就是通常所說的SI和IEC標準。=============================================================看了匿名使用者的回覆,決定來補充一些東西。//話說這種問題為啥要匿名呀摔!首先1KB=1000B絕對不是硬碟廠商發明的,他們只是利用者,嗯嗯。然後,關於大B和小b,匿名使用者解釋的非常好。順便一說為啥網路傳輸要使用小b,因為在網路傳輸的時候,我們傳輸的實際上是一個個二進位制數,似乎可以俗稱為位元流。那麼,在傳輸二進位制數的時候,我們顯然是不管你這是什麼字,用的什麼編碼的,所以我們衡量傳輸速度的最直接的量就是每秒鐘傳輸了多少了二進位制位,所以在計算機網路中,我們普遍使用小b作為單位。然後對於ta提出的Windows的Size的問題,這個很好解釋。首先,第一個Size顯然是經過舎入的。請不要用115去做乘法,直接用118774去除1024就能得到結果:115.990234375。關於舍入究竟是什麼規則,我還在尋找相關的文件,就目前來看似乎是直接捨去小數部分。然後,第二個Size on Disk就更好解釋了。如果你用118784除1024會發現誒,正好整除!結果就是116!這是為啥呢?顯然這跟檔案在磁碟上儲存的最小單位有關。在NTFS分割槽上,檔案儲存的最小區塊是簇,一般情況下預設的簇大小為4K,也就是說,不論你的檔案有多小,就算你的檔案只有1b,對不起,我還是要佔用一個4K大小的簇。仔細一算你是不是發現116/4剛好整除,等於29呢?說明你的系統很可能也是4K為一個簇,然後該檔案佔用了你29個簇。

    參考[知識] KB KiB MB MiB GB GiB TB TiB 單位傻傻分不清楚?

    千位元組Kibibyte

  • 中秋節和大豐收的關聯?
  • 一個月你會吃多少次外賣?