當我使用在線工具將1GB轉換爲字節時,我得到了不同的答案。例如,使用谷歌轉換器:1GB=1e+9
,而在另一個轉換器,我得到1GB= 1073741824
。我猜想根據是否使用1KB=1024B
或1KB=1000B
(這是Google單位),我們會以不同的方式使用此單元。千兆字節(GB)有多少個字節?
如何知道我的機器使用小型C程序或函數使用哪個單元? C有一個宏嗎?我想這樣做,因爲我的程序可能會通過各種操作系統運行。
當我使用在線工具將1GB轉換爲字節時,我得到了不同的答案。例如,使用谷歌轉換器:1GB=1e+9
,而在另一個轉換器,我得到1GB= 1073741824
。我猜想根據是否使用1KB=1024B
或1KB=1000B
(這是Google單位),我們會以不同的方式使用此單元。千兆字節(GB)有多少個字節?
如何知道我的機器使用小型C程序或函數使用哪個單元? C有一個宏嗎?我想這樣做,因爲我的程序可能會通過各種操作系統運行。
這兩個工具正在轉換兩個不同的單位。 1 GB = 10^9
字節,而1 GiB = 2^30
字節。
嘗試使用谷歌轉換器與GiB
而不是GB
和神祕將解決。
以下內容將幫助您更好地理解轉換。
Factor Name Symbol Origin Derivation Decimal
2^10 kibi Ki kilobinary: (2^10)^1 kilo: (10^3)^1
2^20 mebi Mi megabinary: (2^10)^2 mega: (10^3)^2
2^30 gibi Gi gigabinary: (2^10)^3 giga: (10^3)^3
2^40 tebi Ti terabinary: (2^10)^4 tera: (10^3)^4
2^50 pebi Pi petabinary: (2^10)^5 peta: (10^3)^5
2^60 exbi Ei exabinary: (2^10)^6 exa: (10^3)^6
注意,對於二進制倍數的新的前綴不是單位(SI )的國際體系的一部分。然而,爲了便於理解和回憶,它們是從國際單位前綴中得出的十個正面權力。如表中所示,通過保留前綴的前兩個字母並添加字母bi
,每個新前綴的名稱都從對應的SI前綴的名稱派生而來。
目前仍然對GB
和GiB
事實上使用了很多混亂往往當GiB
應該或意欲是GB
使用。 想想硬盤世界: 您的操作系統假定1 MB
等於1 048 576 bytes
即1MiB
。驅動器製造商認爲(正確)1 MB
等於1 000 000
字節。因此,如果驅動器是標榜6.4
GB(6 400 000 000 bytes
)操作系統認爲它是約6.1 GB 6 400 000 000/1 048 576 000
=〜6.1 GiB
Take a look at this for more info on prefixes for binary units 和this on metric prefixes。
這只是單位的混亂。對於2³⁰
,實際上有兩個前綴G
(10⁹
和Gi
)。字節通常應該與第二個字節進行比較,所以正確的文字應該是GiB
。
你爲什麼要機器有一個單位?這不是我們應該定義和使用的東西嗎? –
順便說一句你在哪裏找到*谷歌轉換器* – tilz0R
標題是壞的。問題不是關於字節的大小,而是關於*千*單位的定義。它可以是1000(在計算機外部常見的用法),或1024是2的接近力量。它只是一個*人類*慣例...... –