我只是想提取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)。
我错过了什么?
答案 0 :(得分:1)
无。你的计算是正确的。
您计算的卡片大小是设备上可用的原始存储空间总量。 Windows报告的大小是格式化后文件可用的存储量。