LINUX.ORG.RU

История изменений

Исправление COKPOWEHEU, (текущая версия) :

ну хорошо, может быть N+N-1

Нет, все же N+N. Допустим, нам надо реализовать длинную арифметику в дополнительном коде, основание которого хранится отдельно для каждого числа.

-45 -> 55₁₀₀ -> 9955₁₀₀₀₀
+45 -> 45₁₀₀ -> 0045₁₀₀₀₀
-45*45 = -2025 -> 7975₁₀₀₀₀
9955*0045 = 44|7975₁₀₀₀₀

2 -> 2₁₀₀₀
-45 -> 955₁₀₀₀
2*955 = 1|910₁₀₀₀ -> -90

То есть при умножении двузначных чисел результат получается четырехзначным.

Другое дело, что для длинной арифметики не нужен перенос.

Исправление COKPOWEHEU, :

ну хорошо, может быть N+N-1

Нет, все же N+N. Допустим, нам надо реализовать длинную арифметику в дополнительном коде, основание которого хранится отдельно для каждого числа.

-45 -> 55₁₀₀
+45 -> 45₁₀₀
-45*45 = -2025 -> 7975₁₀₀₀₀
-45 -> 9955₁₀₀₀₀
+45 -> 0045₁₀₀₀₀
9955*0045 = 44|7975₁₀₀₀₀

2 -> 2₁₀₀₀
-45 -> 955₁₀₀₀
2*955 = 1|910₁₀₀₀ -> -90

То есть при умножении двузначных чисел результат получается четырехзначным.

Другое дело, что дли длинной арифметики не нужен перенос.

Исходная версия COKPOWEHEU, :

ну хорошо, может быть N+N-1

Нет, все же N+N. Допустим, нам надо реализовать длинную арифметику в дополнительном коде, основание которого хранится отдельно для каждого числа.

-45 -> 55₁₀₀
+45 -> 45₁₀₀
-45*45 = -2025 -> 7975₁₀₀₀₀
-45 -> 9955₁₀₀₀₀
+45 -> 0045₁₀₀₀₀
9955*0045 = 44|7975₁₀₀₀₀

2 -> 2₁₀₀₀
-45 -> 955₁₀₀₀
2*955 = 1|910₁₀₀₀ -> -90

То есть при умножении двузначных чисел результат получается четырехзначным