硬盘分区整数计算方法

时间:2021-03-31 18:30:39

硬盘分区整数计算方法

在实际操作中,不知朋友们是否遇到过这样一个问题,在对硬盘重新或者全新进行分区时,总得不到一个整数的硬盘容量。这是怎么回事呢?

关于分区,硬盘厂商设计的是1GB1000MB,而操作系统却认为1GB1024MB,而分区的计算方法既不是按照硬盘厂商的设计也不是操作系统的设计,而是另有误差。原因就是硬盘在分区和格式化之后还会在硬盘上占用一定的空间用来存储磁盘结构和数据位置等信息。

 

一、对于FAT32格式

M(G-1)×41024×G

G为分区GB数,即你想要得到的整数(单位为:GB);

M为应分配MB数,即你分区时应该输入的数字(单位为MB)。

举例:如果你要在FAT32格式的硬盘上分出一个10 GB的硬盘分区,那么:

你应该分配的MB数=(10-1)×41024×1010276 MB

这样你就可以得到整数的10 GB分区了。

 

二、对于NTFS格式

硬盘一般有255个磁头,63个扇区,故每柱面大小为:

512Byte×255×638225280Byte7.84423828125 MB

如果要分10 GB,那么要10×1024 MB10240 MB

需要柱面数为

10240÷7.844238281251305.416744475568004979769685652

取整数既为1306个柱面

应分MB数为1306×7.84423828125=10244.5751953125 MB

不管小数点后面几位都进1,也就是10245 MB,系统也就认为是10.00 GB了。

分区格式为NTFS的计算结果:

10GB 10245MB

20GB 20482MB

30GB 30726MB

40GB 40963MB

50GB 51208MB

60GB 61444MB

70GB 71681MB

80GB 81926MB

90GB 92162MB

100GB 102407MB

110GB 112644MB

120GB 122888MB

130GB 133125MB

140GB 143362MB

150GB 153606MB

160GB 163843MB

170GB 174088MB

180GB 184324MB

190GB 194561MB

 

三、硬盘分区容量设置计算器

硬盘分区容量设置计算器Delphi源码详见:

http://blog.csdn.net/dfyy88/archive/2009/10/08/4643261.aspx