2013-12-09 48 views
0

在FAT12的根目录中,字节26-27表示文件的第一个簇的编号。但是,FAT12中的簇编号是12位长。那么根目录中2字节条目的哪一部分包含实际的12位簇号?在读取这两个字节以获取群集时是否需要执行任何转换?我环顾了互联网,但无法找到适当的解释。FAT12 - 从根目录中读取文件的第一个簇号

+0

你确定它是我们正在谈论的集群吗? IIRC在FAT12/FAT16中编号为*扇区*编号。在FAT32中,它是一个簇号。 – ixe013

+0

那么这将取决于每个群集的扇区,但从一般意义上讲,我正在谈论群集数量。例如,我正在使用软盘映像作为引导磁盘,为此,每个簇的扇区数= 1,因此cluster =>扇区。 – Cygnus

回答

1

最低12位,即您在代码中执行& 0x0FFF。但另一方面,使用完整的16位 - 其他4位只填充0,因此该数字是一个有效的字(16位整数)。