Body #21
14 ноября 2000 |
|
■························[ Coding ]·························■ (c) Brom^Ellipse mdm 2383150 ──────────────────────────┐ in : HL - исходное число │ Не многие знают, что извлечь при- out : BC - результат │ близительный корень из любого целого used: HL,DE,BC,IX,A │ числа так просто, ну или почти │ просто. Метод описаный ниже был при- SQR LD BC,1 │ думам еще в начале 80-х. По-научному LD DE,1 │ звучит он так: Квадратный корень из XOR A │ любого целого числа равен количеству L1 OR A │ последовательных четных чисел, SBC HL,DE │ которые можно из него вычесть. PUSH HL │ Суть метода заключается в том OR A │ чтобы вычитать из числа все нечетные SBC HL,DE │ числа (начиная с 1) пока результат POP HL │ не станет равным нулю, либо пока RET C │ уменьшаемое не станет больше вычита- INC DE │ емого, количество раз вычитания и INC DE │ будет,округлюнный до меньшего, резу- INC BC │ льтат. JR L1 │ Слева приведена процедура на asm'e ──────────────────────────┘ которая явно не является слишком быстрой, но в принципе у меня все работает :)
Other articles:
|
|
|
|
|
|
|
|
|
|
Similar articles:
В этот день... 21 November