0
private int OffsetToBlockNumber(int offset) {
return (int)(Math.Floor((double)(offset/0x1000)) - (double)0xc);
}
我正在創建一個類來讀取一個文件類型,該文件被分成大小爲4096個字節或十六進制爲0x1000的塊。第一塊是0xC000時,所以這就是爲什麼我從結果中減去0xC的..這怎麼寫得更好?
無論如何,問題是,當我嘗試:
Math.Floor(offset/0x1000) - 0xC
它說的調用是小數之間的曖昧和double類型,所以我將它們投入雙打,然後將結果轉換爲int。這樣做似乎很愚蠢,所以我希望有人能以更好的方式說明問題。
使用整數除法,'offset/0x1000'已經截斷而不必混亂Floor()和double。 – 2011-12-30 01:17:33