В элементарной арифметике перенос — это цифра , которая переносится из одного столбца цифр в другой столбец более значащих цифр . Это часть стандартного алгоритма сложения чисел , начиная с самых правых цифр и двигаясь влево. Например, когда 6 и 7 складываются, чтобы получить 13, «3» записывается в тот же столбец, а «1» переносится влево. При использовании вычитания операция называется заимствованием .
В традиционной математике особое внимание уделяется переносу , в то время как учебные программы, основанные на реформаторской математике, не уделяют особого внимания какому-либо конкретному методу поиска правильного ответа. [ нужна цитата ]
Перенос также несколько раз встречается в высшей математике. В вычислениях перенос является важной функцией сумматорных схем.
Типичным примером переноса является следующее дополнение, выполненное карандашом и бумагой:
1 27+ 59---- 86
7 + 9 = 16, а цифра 1 — это перенос.
Противоположностью является заимствование , как в
−1 47− 19---- 28
Здесь 7 − 9 = −2 , поэтому попробуйте (10 − 9) + 7 = 8 и 10 получится, если взять («заимствовать») 1 из следующей цифры слева. Обычно этому обучают двумя способами:
Традиционно керри преподают путем сложения многозначных чисел во втором или конце первого года обучения в начальной школе. Однако с конца 20-го века многие широко распространенные учебные программы, разработанные в Соединенных Штатах, такие как TERC, пропускали обучение традиционному методу переноса в пользу изобретенных арифметических методов и методов, использующих раскраску, манипуляции и диаграммы. Такие упущения подверглись критике со стороны таких групп, как Mathematically Correct , и с тех пор некоторые штаты и округа отказались от этого эксперимента, хотя он по-прежнему широко используется. [ нужна цитата ]
Теорема Куммера утверждает, что количество переносов, участвующих в сложении двух чисел по основанию, равно показателю наивысшей степени деления определенного биномиального коэффициента .
Когда добавляются несколько случайных чисел из многих цифр, статистика переносимых цифр обнаруживает неожиданную связь с эйлеровыми числами и статистикой перестановок при перетасовке . [1] [2] [3] [4]
В абстрактной алгебре операцию переноса для двузначных чисел можно формализовать с помощью языка групповых когомологий . [5] [6] [7] Эта точка зрения может быть применена к альтернативным характеристикам действительных чисел . [8] [9]
Carry представляет собой одну из основных задач, стоящих перед проектировщиками и изготовителями механических калькуляторов . Они сталкиваются с двумя основными трудностями: первая связана с тем, что для переноса может потребоваться изменение нескольких цифр: чтобы прибавить 1 к 999, машина должна увеличить 4 разные цифры. Еще одна проблема заключается в том, что перенос может «развернуться» до того, как следующая цифра завершит операцию сложения.
Большинство механических калькуляторов реализуют перенос, выполняя отдельный цикл переноса после самого сложения. Во время сложения каждый перенос «сигнализируется», а не выполняется, и во время цикла переноса машина увеличивает цифры выше «запущенных» цифр. Эту операцию необходимо выполнять последовательно, начиная с цифры единиц, затем десятков, сотен и т. д., поскольку добавление переноса может привести к созданию нового переноса в следующей цифре.
Некоторые машины, особенно калькулятор Паскаля , второй известный калькулятор, который будет построен, и самый старый из сохранившихся, используют другой метод: приращение цифры от 0 до 9, взведение механического устройства для хранения энергии, и следующее приращение, которое перемещает цифру. от 9 до 0, высвобождает эту энергию для увеличения следующей цифры на 1. Паскаль использовал в своей машине гири и гравитацию. Еще одна известная машина, использующая аналогичный метод, — это очень успешный комптометр XIX века , в котором гири были заменены пружинами.
Некоторые инновационные машины используют непрерывную передачу: добавление 1 к любой цифре переводит следующую цифру вперед на 1/10 (которая, в свою очередь, продвигает следующую цифру на 1/100 и так далее). Некоторые ранние инновационные калькуляторы, в частности калькулятор Чебышева 1870 года [10] и конструкция Селлинга [11] 1886 года, использовали этот метод, но ни один из них не имел успеха. В начале 1930-х годов калькулятор Marchant с большим успехом реализовал непрерывную передачу данных, начиная с калькулятора с метким названием «Бесшумная скорость». Марчант (позже ставшая корпорацией SCM ) продолжала использовать и совершенствовать его и производила калькуляторы с непрерывной передачей данных с непревзойденной скоростью до конца 1960-х годов, до конца эры механических калькуляторов.
Говоря о цифровой схеме, такой как сумматор, слово « перенос» используется в аналогичном смысле.
В большинстве компьютеров перенос старшего бита арифметической операции (или бита, смещенного в результате операции сдвига) помещается в специальный бит переноса , который можно использовать в качестве переноса для арифметических операций с множественной точностью или протестировать и использовать для контролировать выполнение компьютерной программы . Тот же бит переноса обычно используется для обозначения заимствований при вычитании, хотя значение бита инвертируется из-за эффектов арифметики с дополнением до двух . Обычно значение бита переноса «1» означает, что при сложении произошло переполнение ALU , и это необходимо учитывать при добавлении слов данных, длина которых превышает длину ЦП. Для вычитающих операций используются два (противоположных) соглашения, поскольку большинство машин устанавливают флаг переноса при заимствовании, в то время как некоторые машины (например, 6502 и PIC) вместо этого сбрасывают флаг переноса при заимствовании (и наоборот).