private int OffsetToBlockNumber(int offset) {
return (int)(Math.Floor((double)(offset / 0x1000)) - (double)0xc);
}
Я делаю класс для чтения типа файла, который разделен на блоки размером 4096 байт или 0x1000 в шестнадцатеричном формате.Первый блок находится в 0xC000, поэтому я вычитаю 0xC из результата ..
В любом случае, проблема в том, что когда я пытался:
Math.Floor(offset / 0x1000) - 0xC
Он сказал, что вызовнеоднозначно между десятичным и двойным типами, поэтому я приведу их к двойным значениям, а затем результат в int.Кажется, довольно глупо делать это таким образом, поэтому я надеялся, что кто-нибудь сможет пролить свет на лучший путь.