U盘、硬盘等容量为什么不满16G、32G、500G等

其实是对 "千"(K) 的计算方法不一样,厂商是按1000计算的,而电脑或手机是按1024计算的;

/**
 * 换算
 * $ratio * $G_1024 = 1 * $G_1000
 * $ratio = (1 * $G_1000) / $G_1024
 * $ratio = 0.93132257461548 ≈ 0.931
 */
$G_1024 = 1 << 30;
$G_1000 = 1e9;
$ratio = $G_1000 / $G_1024;
var_dump($ratio); // 0.9313225746154

// 16G 实际大小
var_dump(16 * $ratio); // 14.901161193848 G

// 32G 实际大小
var_dump(32 * $ratio); // 29.802322387695 G

// 250G 实际大小
var_dump(250 * $ratio); // 232.83064365387 G

// 500G 实际大小
var_dump(500 * $ratio); // 465.66128730774 G

// 1000G (1T) 实际大小
var_dump(1000 * $ratio); // 931.32257461548 G

电脑是二进制的,所以1024计算方便,而厂商按1000计算也是为了方便;就像你去取钱,要是跟人家说“给我取个整,取1024块吧”,肯定会闹笑话的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容