硬盘分区整数计算方法
在实际操作中,不知朋友们是否遇到过这样一个问题,在对硬盘重新或者全新进行分区时,总得不到一个整数的硬盘容量。这是怎么回事呢?
关于分区,硬盘厂商设计的是1GB=1000MB,而操作系统却认为1GB=1024MB,而分区的计算方法既不是按照硬盘厂商的设计也不是操作系统的设计,而是另有误差。原因就是硬盘在分区和格式化之后还会在硬盘上占用一定的空间用来存储磁盘结构和数据位置等信息。
一、对于FAT32格式
M=(G-1)×4+1024×G
G为分区GB数,即你想要得到的整数(单位为:GB);
M为应分配MB数,即你分区时应该输入的数字(单位为MB)。
举例:如果你要在FAT32格式的硬盘上分出一个10 GB的硬盘分区,那么:
你应该分配的MB数=(10-1)×4+1024×10=10276 MB
这样你就可以得到整数的10 GB分区了。
二、对于NTFS格式
硬盘一般有255个磁头,63个扇区,故每柱面大小为:
512Byte×255×63=8225280Byte=7.84423828125 MB
如果要分10 GB,那么要10×1024 MB=10240 MB
需要柱面数为
10240÷7.84423828125=1305.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源码详见: