分享

精确的整数分区取值方法

 ZackEdge 2015-02-18

简单地说,要想在 Windows 中让硬盘的分区容量显示整数的GB值,可以在借助Excel软件,在A1栏输入要划分的整数值,在B1栏输入以下函数表达式:

    =ROUNDUP(ROUNDUP(A1*1024/7.84423828125,0)*7.84423828125,0)

    这样就可以自动计算你在分区时需要填入的MB数值。下面是要划分70GB的分区时的计算截图:

    真正精确的硬盘分区取整数值的方法

    这是我个人原创的成果,拿出来和大家分享。网上流传的其他的计算公式和早期的计算软件都是错误的。

   

    分区软件是以MB为计算单位,但 Windows 是以GB为单位来管理硬盘的。但硬盘厂商和操作系统对硬盘容量的计算方式不一样,这样,分区很难取到下面这样的整数:

    真正精确的硬盘分区取整数值的方法

    网上现在流行的计算公式(分区填写MB=(整数GB-1)×4+1024×整数GB),其实是错误的,小容量精确,大容量不精确。

    下面是根据上面的公式,在Excel中计算的一组数据,可供大家直接参考。 

显示
分区填写
显示
分区填写
显示
分区填写
显示
分区填写
1G
1028M
15G
15367M
65G
66567M
130G
133125M
2G
2056M
20G
20482M
70G
71681M
140G
143362M
3G
3075M
25G
25604M
75G
76803M
150G
153606M
4G
4103M
30G
30726M
80G
81926M
160G
163843M
5G
5123M
35G
35841M
85G
87048M
170G
174088M
6G
6150M
40G
40963M
90G
92162M
180G
184324M
7G
7170M
45G
46085M
95G
97285M
190G
194561M
8G
8198M
50G
51208M
100G
102407M
200G
204806M
9G
9217M
55G
56322M
110G
112644M
250G
256005M
10G
10245M
60G
61444M
120G
122888M
300G
307204M

 

    那么上面这个计算公式的原理是什么呢?其实我也是根据网上一位高人的一段文字推导出来的,那段文字内容如下:

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

    512byte×255×63 ﹦8225280bytes ﹦7.84423828125MB
    如果要划分40GB,那么要

    40×1024MB ﹦40960MB
    需要柱面数为:

    40960÷7.84423828125=5221.66
    取整数为5222个柱面。
    应分MB为5222×7.84423828125 ﹦40962.6123046875MB

    取整数为40963MB。这样Windows就显示为 40.00 GB 了。
    注意:这里两处取整数时,不管小数点后面几位都进1。这个方法在 NTFS 和 FAT32 文件系统中通用。

    熟悉 Excel 的朋友都明白,上面这段文字可以用这个函数表达式表示:

    B1=ROUNDUP(ROUNDUP(A1*1024/7.84423828125,0)*7.84423828125,0)

    这就是本文开头的那个公式。我原本没有想弄一个公式出来,但刚买了一块1000GB的硬盘,想划分300GB的分区,网上没有供参考的数值,只好自己来琢磨了,于是琢磨出了上面这个公式。

 

    但这也不是尽善尽美的,毕竟硬盘厂商和操作系统的计算方法不一样,而且操作系统中显示的是保留小数点后两位数的效果。根据我个人的经验,凡是15GB的倍数,都不能完全精确。例如30GB,你只能划分出29.99GB或30.01GB(30726M)。

    展示一下我的250GB的硬盘划分后的效果:

    真正精确的硬盘分区取整数值的方法

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多