собственно сабж
x mod 2 можем сделать сдвигом || and 1
a мод 3?
собственно сабж
x mod 2 можем сделать сдвигом || and 1
a мод 3?
"наличие готового программного обеспечения для нового компьютера в наши дни имеет мало смысла."
"Еще вопрос - почему на Спектруме большинство звуков на AY булькающие ? Как это исправить ?"
(c) zst
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
но надо проверить- могу и наглючитьКод:;in A - number ;out A - number mod 3 ld c,#c0 loop: sub c jz exit jnc,nxt add a,c nxt: rr c jnc,loop exit:
хм, я приблизительно умножал на 85, делил на 256 (выкидывал младший байт)
точность 1/256, вполне катит.
Куплю в СПб 5.25" Robotron или Teac
в общих чертах ясно.
спасибо, ребята!
"наличие готового программного обеспечения для нового компьютера в наши дни имеет мало смысла."
"Еще вопрос - почему на Спектруме большинство звуков на AY булькающие ? Как это исправить ?"
(c) zst
ну да, дробные числа получаются по основанию 256. Деление на 256 - выкинуть младший байт, а умножение на константу - копеечное дело.
Жаль, в вузах нас этому не учили. Тот же Брезенхейм казался прям эдакой загадкой. Потом, когда я занялся цифровым синтезом, сам понял, что вот они, дроби (по сути).
Куплю в СПб 5.25" Robotron или Teac
А есть быстрый алгоритм деления числа (байта) на 3? Желательно без таблиц.
Умножить на 85 (%1010101) и сдвинуть на 8 бит.
;l=число
ld h,0
ld d,h,e,l
add hl,hl ;*2
add hl,hl ;*4
add hl,de ;*5
add hl,hl ;*10
add hl,hl ;*20
add hl,de ;*21
add hl,hl ;*42
add hl,hl ;*84
add hl,de ;*85
;h=результат
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)