Показать сообщение отдельно
Старый 03.11.2013, 17:06   #18
Paul Kellerman
Gold Member
 
Регистрация: 25.06.2005
Адрес: F000:FFF0
Сообщений: 1,830
По умолчанию

Цитата:
Сообщение от Dikoy Посмотреть сообщение
Вот кто как на 10 делит?
Окончательная версия (с учетом ошибок округления), которая дает точные результаты,
полностью совпадающие с результатами idiv by 10 на всем диапазоне -2^31...2^31 - 1.

mov eax,value
mov edx,66666667h
imul edx
sar edx,2
bt edx,31
adc edx,0
mov eax,edx

P.S. То есть 32-битные знаковые целые надо умножать на ((2^34)/10) и сдвигать на 34 бита.

Последний раз редактировалось Paul Kellerman; 03.11.2013 в 17:45.
Paul Kellerman вне форума   Ответить с цитированием
Реклама