|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 6, 2004 16:31:42 Не подскажете, нету ли быстрого алгоритма целочисленного беззнакового деления на эту фигню? |
|
|
Дата: Сен 6, 2004 18:32:37 |
|
|
Дата: Сен 7, 2004 18:23:24 А без умножений? |
|
|
Дата: Сен 7, 2004 18:28:47 Ага, теперь ему уже и умножений не надо. Ну что ж. Реализуй сложение в цикле :) |
|
|
Дата: Сен 8, 2004 00:46:23 Любопытная задача на мой взгляд. Если только абстрогироваться от х86 и просто расмотреть различные варианты в духе Уорена. Если рассмотреть деление X на 2^n -1 как частное от деления X\2^n + Y наблюдается любопытная рекурентость. |
|
|
Дата: Окт 28, 2004 15:39:55 Вот тебе без умножений алгоритм: Пусть даны целые числа A и B=2^n-1 Требуется найти X=A/B, что эквивалентно X*B=A. Двоичная запись B состоит из одних единиц. Пусть (для примера) B=1111 Пусть xyzuvw - двоичная запись X Пусть abcdefghi - двоичная запись A Запишем умножение X*B в столбик ___xyzuvw _____1111 -------------- ___xyzuvw __xyzuvw _xyzuvw xyzuvw ---------------- abcdefghi Отсюда можно рекурентно найти неизвестные биты w,v,u... w=i v=h-w .... и т.д. P.S. Не забудь переносы при сложении учитывать. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.089 |