SD卡大小计算

时间:2016-02-15 05:29:55

标签: c sd-card capacity

我只是想提取16GB SD卡的大小,但它似乎没有完全解决。

根据SD规范,我正在提取变量C_SIZE,如下所示......

uint32_t c_size = (((uint32_t)csd[7] & 0x3F) << 16) | ((uint16_t)csd[8] << 8) | csd[9];

我得到30386.然后我通过做出规范中概述的内容计算了多少kb ...

memory capacity = (C_SIZE+1) * 512KByte

然后我乘以1024将其转换为多个字节。

问题在于,根据上面的计算,对于我的16GB卡,我得到了15,931,539,456字节,当我在Windows中转到SD卡的属性时,我得到的容量为15,923,150,848字节(使用了98,304,免费为15,923,052,544)。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

无。你的计算是正确的。

您计算的卡片大小是设备上可用的原始存储空间总量。 Windows报告的大小是格式化后文件可用的存储量。