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

【U盘、硬盘等容量为什么不满16G、32G、500G等】电脑是二进制的,所以1024计算方便,而厂商按1000计算也是为了方便;就像你去取钱,要是跟人家说“给我取个整,取1024块吧”,肯定会闹笑话的。

    推荐阅读