Перенос в арифметике: от начальной школы до абстрактной алгебры.
Carry (arithmetic)
Перенос в математике: что это такое и как работает при сложении и вычитании. Объяснение понятия "перенос" и его роль в традиционном обучении математике.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
В элементарной арифметике перенос – это цифра, которая переносится из одного разряда в следующий, более старший разряд. Это часть стандартного алгоритма сложения чисел, начинающегося с младших разрядов и продвигающегося влево. Например, при сложении 6 и 7, получающих 13, цифра "3" записывается в текущем разряде, а цифра "1" переносится влево. При вычитании соответствующая операция называется заемом. Перенос акцентируется в традиционной математике, в то время как учебные программы, основанные на реформированной математике, не делают акцент на каком-либо конкретном методе получения правильного ответа. Перенос также встречается в более сложных разделах математики. В вычислительной технике перенос является важной функцией сумматоров.
In elementary arithmetic, a carry is a digit that is transferred from one column of digits to another column of more significant digits. It is part of the standard algorithm to add numbers together by starting with the rightmost digits and working to the left. For example, when 6 and 7 are added to make 13, the "3" is written to the same column and the "1" is carried to the left. When used in subtraction the operation is called a borrow. Carrying is emphasized in traditional mathematics, while curricula based on reform mathematics do not emphasize any specific method to find a correct answer. Carrying makes a few appearances in higher mathematics as well. In computing, carrying is an important function of adder circuits.
Математическое образование
Традиционно, заимствование (перенос) преподают при сложении многозначных чисел во втором или конце первого класса начальной школы. Однако, начиная с конца XX века, многие широко используемые учебные программы, разработанные в США, такие как TERC, отказались от обучения традиционному методу заимствования в пользу методов, основанных на самостоятельном изобретении алгоритмов, а также методов с использованием раскрашивания, наглядных пособий и таблиц. Подобные исключения подверглись критике со стороны таких организаций, как Mathematically Correct, и некоторые штаты и школьные округа впоследствии отказались от этого подхода, хотя он до сих пор широко применяется.
Traditionally, carry is taught in the addition of multi digit numbers in the 2nd or late first year of elementary school. However, since the late 20th century, many widely adopted curricula developed in the United States such as TERC omitted instruction of the traditional carry method in favor of invented arithmetic methods, and methods using coloring, manipulatives, and charts. Such omissions were criticized by such groups as Mathematically Correct, and some states and districts have since abandoned this experiment, though it remains widely used.
Высшая математика
Теорема Куммера утверждает, что количество переносов при сложении двух чисел в системе счисления *b* равно показателю степени наибольшей степени *b*, делящей определенный биномиальный коэффициент. При сложении нескольких случайных чисел, состоящих из многих цифр, статистика переносов обнаруживает неожиданную связь с числами Эйлера и статистикой перестановок, возникающих при тасовании колоды карт (рифл-шаффл). В абстрактной алгебре операцию переноса для однозначных чисел можно формализовать, используя язык когомологий групп. Этот подход может быть применен к альтернативным характеризациям действительных чисел.
Kummer's theorem states that the number of carries involved in adding two numbers in base is equal to the exponent of the highest power of dividing a certain binomial coefficient. When several random numbers of many digits are added, the statistics of the carry digits bears an unexpected connection with Eulerian numbers and the statistics of riffle shuffle permutations. In abstract algebra, the carry operation for two digit numbers can be formalized using the language of group cohomology. This viewpoint can be applied to alternative characterizations of the real numbers.
Механические калькуляторы
Перенос представляет собой одну из основных проблем, с которыми сталкиваются проектировщики и производители механических калькуляторов. Они сталкиваются с двумя основными трудностями: первая заключается в том, что для выполнения переноса может потребоваться изменение нескольких цифр: чтобы прибавить 1 к 999, машине необходимо увеличить 4 различные цифры. Другая проблема состоит в том, что перенос может "возникнуть" до того, как предыдущая цифра завершит операцию сложения. Большинство механических калькуляторов реализуют перенос, выполняя отдельный цикл переноса после самого сложения. Во время сложения каждый перенос "сигнализируется", а не выполняется, и в ходе цикла переноса машина увеличивает цифры, стоящие выше "активированных" цифр. Эта операция должна выполняться последовательно, начиная с разряда единиц, затем десятков, сотен и так далее, поскольку добавление переноса может породить новый перенос в следующем разряде. Некоторые машины, в частности калькулятор Паскаля – второй известный построенный калькулятор и старейший сохранившийся – используют другой метод: увеличение цифры от 0 до 9 приводит в действие механическое устройство для накопления энергии, а последующее увеличение, переводящее цифру от 9 к 0, высвобождает эту энергию для увеличения следующей цифры на 1. Паскаль использовал веса и гравитацию в своей машине. Другой примечательный аппарат, использующий аналогичный метод, – это весьма успешный комптометр XIX века, в котором веса были заменены пружинами. Некоторые инновационные машины используют непрерывную передачу: добавление 1 к любой цифре продвигает следующую на 1/10 (которая, в свою очередь, продвигает следующую на 1/100 и так далее). Некоторые инновационные ранние калькуляторы, в частности калькулятор Чебышева 1870 года и конструкция Селлинга 1886 года, использовали этот метод, но ни один из них не оказался успешным. В начале 1930-х годов калькулятор Marchant успешно реализовал непрерывную передачу, начиная с калькулятора, уместно названного "Silent Speed" ("Тихая скорость"). Marchant (позже SCM Corporation) продолжал использовать и совершенствовать эту технологию, производя калькуляторы с непрерывной передачей, отличавшиеся непревзойденной скоростью, вплоть до конца 1960-х годов, до завершения эры механических калькуляторов.
Carry represents one of the basic challenges facing designers and builders of mechanical calculators. They face two basic difficulties: The first one stems from the fact that a carry can require several digits to change: in order to add 1 to 999, the machine has to increment 4 different digits. Another challenge is the fact that the carry can "develop" before the next digit finished the addition operation. Most mechanical calculators implement carry by executing a separate carry cycle after the addition itself. During the addition, each carry is "signaled" rather than performed, and during the carry cycle, the machine increments the digits above the "triggered" digits. This operation has to be performed sequentially, starting with the ones digit, then the tens, the hundreds, and so on, since adding the carry can generate a new carry in the next digit. Some machines, notably Pascal's calculator, the second known calculator to be built, and the oldest surviving, use a different method: incrementing the digit from 0 to 9, cocks a mechanical device to store energy, and the next increment, which moves the digit from 9 to 0, releases this energy to increment the next digit by 1. Pascal used weights and gravity in his machine. Another notable machine using similar method is the highly successful 19th century Comptometer, which replaced the weights with springs. Some innovative machines use continuous transmission: adding 1 to any digit, advances the next one by 1/10 (which in turn advances the next one by 1/100 and so on). Some innovative early calculators, notably Chebyshev calculator from 1870, and a design by Selling, from 1886, used this method, but neither were successful. In the early 1930, Marchant calculator implemented continuous transmission with great success, starting with the aptly named "Silent Speed" calculator. Marchant (later to become SCM Corporation) continued to use and improve it, and made continuous transmission calculators with unmatched speed, into the late 1960s, to the end of the mechanical calculator era.
Вычислительные технологии
Когда речь идет о цифровой схеме, такой как сумматор, термин "перенос" используется в аналогичном смысле. В большинстве компьютеров перенос из старшего бита арифметической операции (или бита, сдвинутого из операции сдвига) помещается в специальный бит переноса, который может использоваться как входной перенос для арифметики с повышенной точностью или проверяться и использоваться для управления выполнением компьютерной программы. Тот же бит переноса обычно также используется для индикации заема при вычитании, хотя значение бита инвертируется из-за эффектов арифметики дополнительного кода. Обычно значение бита переноса "1" означает, что при сложении произошло переполнение АЛУ, и это необходимо учитывать при сложении данных, длина которых превышает разрядность ЦП. Для операций вычитания используются две (противоположные) соглашения: большинство машин устанавливают флаг переноса при заеме, в то время как некоторые машины (например, 6502 и PIC) вместо этого сбрасывают флаг переноса при заеме (и наоборот).
When speaking of a digital circuit like an adder, the word carry is used in a similar sense. In most computers, the carry from the most significant bit of an arithmetic operation (or bit shifted out from a shift operation) is placed in a special carry bit which can be used as a carry in for multiple precision arithmetic or tested and used to control execution of a computer program. The same carry bit is also generally used to indicate borrows in subtraction, though the bit's meaning is inverted due to the effects of two's complement arithmetic. Normally, a carry bit value of "1" signifies that an addition overflowed the ALU, and must be accounted for when adding data words of lengths greater than that of the CPU. For subtractive operations, two (opposite) conventions are employed as most machines set the carry flag on borrow while some machines (such as the 6502 and the PIC) instead reset the carry flag on borrow (and vice versa).