Windows下整数分区的计算逻辑 转

硬盘整数分区计算方法我们一般是这样算的:分区大小=(分区大小-1)×4+1024×分区大小。
比如:

      40GB=(40-1)×4+1024×40=41116MB

      按照这样的计算方法:
      5G=5136MB
      10G=10276MB
      15G=15416MB
      20G=20556MB
      30G=30836MB
      40G=41116MB

      30G以内,输入上面的数据,如10G你输入10276,在Windows资源管理器里面显示的刚好10.00GB,而在管理工具-磁盘管理界面显示就是10.04GB,如果是40G你输入41116,那么在Windows资源管理器里面显示的刚好40.01GB。

      因此上面的计算公式还不是很准确。

     最精确硬盘分区的算法我认为应该是这样的:

      硬盘一般有255磁头,63扇区,故每柱面大小为:
      512byte x 255 x 63=8225280bytes =7.84423828125 MB
      如果要分40GB,那么要40×1024MB=40960MB
      需要柱面数为40960÷7.84423828125=5221.66
      取整数既为5222个柱面
      应分M数为5222×7.84423828125=40962.6123046875MB
      不管小数点后面几位都进1,也就是40963MB,windows就认为是40GB了。
      这个方法NTFS和FAT32通用。

      下面附1GB到200GB精确计算结果:
      1G : 1028M
      2G : 2056M
      3G : 3075M
      4G : 4103M
      5G : 5123M
      6G : 6150M
      7G : 7170M
      8G : 8198M
      9G : 9217M
      10G : 10245M
      15G : 15367M
      20G : 20482M
      25G : 25604M
      30G : 30726M
      35G : 35841M
      40G : 40963M
      45G : 46085M
      50G : 51208M
      55G : 56322M
      60G : 61444M
      65G : 66567M
      70G : 71681M
      75G : 76803M
      80G : 81926M
      85G : 87048M
      90G : 92162M
      95G : 97285M
      100G : 102407M
      110G : 112644M
      120G : 122888M
      130G : 133125M
      140G : 143362M
      150G : 153606M
      160G : 163843M
      170G : 174088M
      180G : 184324M
      190G : 194561M
      200G : 204806M

      此精确分区结果,在管理工具-磁盘管理界面,和Windows资源管理器里面显示的是整数,10G就是10.00GB,20G就是20.00GB,40G就是40.00GB。

原文地址:https://www.cnblogs.com/liye/p/1554507.html