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