[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
если сложить 1/8 - 1/32 + 1/128 - 1/256 - 1/512 + 1/1024 - 1/2048
то получим не 1/10, а 197/2048
Хотя, таким способом можно получить и 205/2048, что ближе к 1/10
А вообще (мне так кажется) 1/10 нельзя записать точно в двоичном коде - можно только сколь угодно близко приблизиться к 1/10 :
410/4096, 820/8192, ...
Т. е. нужно задаться требуемой точностью и что-то "родить". Еще, наверное, это будет зависеть от разрядности того числа, которое делим. Если оно, например, 8-ми разрядное и делим нацело ( 25/10 = 2) то большая точность и не нужна.
А может просто реализовать обычный алгоритм деления ? (можно делимое сдвинуть на 1 бит вправо, тогда делить придется на 5 (на 3-х разрядную цифру) - может быстрее будет).
А, кстати, что у Вас за задача ?
E-mail: info@telesys.ru