private int OffsetToBlockNumber(int offset) {
return (int)(Math.Floor((double)(offset/0x1000)) - (double)0xc);
}
私は4096バイト、または16進数で0x1000サイズのブロックに分割されたタイプのファイルを読み込むクラスを作っています。これはどのようにしてより良い書き方ができますか?
Math.Floor(offset/0x1000) - 0xC
をそれは、コールは、小数点の間で曖昧である:最初のブロックは、私はとにかく..結果から
をから0xCを引いてる理由ですので、問題は、私が試したときということです、0xC000でありますダブルタイプに変換するので、それらをdouble型にキャストし、int型に変換します。このようにするのはかなりばかげているようです。誰かがより良い方法で光を当てることができるようになることを願っていました。
整数除算を使用すると、 'offset/0x1000'は既にFloor()とdoubleを混乱させることなく切り捨てられます。 –