2012-07-08 65 views
0

我正在寫一個文件格式庫,存儲嵌入式文件。尋找最接近的塊範圍

1個文件的結尾和另一個文件的開頭之間的空間不是固定的大小。這是最接近的高位0x1000。例如,如果File1以0xAC4654結尾,則File2將從0xAC5000開始。

我想不出一種方法來計算這個。

回答

2

假設你只是想四捨五入到最接近的爲0x1000,然後將下面的代碼就足夠了:

Math.Ceiling((float)value/0x1000) * 0x1000; 
+0

那完美。謝謝! – 2012-07-08 05:54:55

+1

如果你超過2^23字節(8 MB),你會失去精確性。改用'((value - 1)| 0xFFF)+ 1'。 – 2012-07-15 22:58:36