![]() |
|
Cyberden (форумный IT-клуб)
Дабы не смущать простых смертных, ламеров и школоту "ужасами"
типа BGP, MPLS, PLL, LFSR, XOR, RDTSC предлагаю воинам IT-дзена тусоваться здесь и в этой теме обсуждать специфические вопросы, и консультировать по возможности (и желанию) простых смертных. Первоначальный состав клуба: saovu, Dikoy, gav, kravets, Kellerman. P.S. User-level вопросы выбора компьютерного железа, настройки софта, подключения к интернет здесь не обсуждаем. Есть отдель- ный раздел для этого. Юмор тоже желательно только профильный. |
Paul Kellerman, а послушать можно будет, что пойму? :rolleyes:
|
(обиженно хлопая дверью) Ну и ладно! Я себе заведу нормальный АйТи-клуб, с лаптой и девками.
|
Hogfather, ударим хореем по булевой алгебре! :D
Добавлено через 25 секунд Вот кто как на 10 делит? |
Цитата:
|
Палочками :(
|
Для беззнаковых 32-битных целых:
mov eax,value mov edx,1999999Ah mul edx mov eax,edx |
Paul Kellerman, ещё можно a \= 10;
Но давайте без привязки к языку и камню, а чисто алгоритмически. Вот с умножением всё просто. Старый баян из Кнута, кажется X = X * 1 X0 = (X*4 + X) * 2 X00 = ((X*2 + X)*8 + X) * 4 X000 = ((X*32 - X)*4 + X) * 8 X0000 = (((X*4 + X)*8 - X)*16 + X) * 16 А на деление есть набор алгоритмов, но все жЫрные или не точные. Добавлено через 35 секунд пока для челочисленки Добавлено через 2 минуты Paul Kellerman, А, всё, въехал, умножение и сдвиг на 32 бита. Только метод требует переменных, в 2 раза объёмней исходных. Не очень хорошо это порой... |
Прости, Хогфазер, но ты точно не кибервоин :no:
А в статистике круто шаришь, респект форева. |
Paul Kellerman, на си можно заменить на
x = ((0x1999999A * value) >> 32); |
Текущее время: 04:55. Часовой пояс GMT +3. |
|
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
© 2001—2025, «Аспирантура. Портал аспирантов»