В элементарной арифметике перенос — это цифра , которая переносится из одного столбца цифр в другой столбец с более значимыми цифрами. Это часть стандартного алгоритма для сложения чисел, начиная с самых правых цифр и продолжая влево. Например, когда 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 из следующей цифры слева. Есть два способа, которыми это обычно преподается:
Традиционно, перенос преподается при сложении многозначных чисел на 2-м или в конце первого года начальной школы. Однако с конца 20-го века многие широко принятые учебные программы, разработанные в Соединенных Штатах, такие как TERC, исключили обучение традиционному методу переноса в пользу изобретенных арифметических методов и методов, использующих раскрашивание, манипуляции и диаграммы. Такие упущения критиковались такими группами, как Mathematically Correct , и некоторые штаты и округа с тех пор отказались от этого эксперимента, хотя он по-прежнему широко используется. [ необходима цитата ]
Теорема Куммера утверждает, что число переносов, участвующих в сложении двух чисел в системе счисления, равно показателю наибольшей степени деления определенного биномиального коэффициента .
При сложении нескольких случайных чисел из многих цифр статистика переносимых цифр обнаруживает неожиданную связь с числами Эйлера и статистикой перестановок методом тасования . [1] [2] [3] [4]
В абстрактной алгебре операция переноса для двузначных чисел может быть формализована с использованием языка групповых когомологий . [5] [6] [7] Эта точка зрения может быть применена к альтернативным характеристикам действительных чисел . [8] [9]
Перенос представляет собой одну из основных проблем, с которой сталкиваются проектировщики и строители механических калькуляторов . Они сталкиваются с двумя основными трудностями: Первая из них связана с тем, что перенос может потребовать изменения нескольких цифр: чтобы прибавить 1 к 999, машина должна увеличить 4 разные цифры. Другая проблема заключается в том, что перенос может «развиваться» до того, как следующая цифра завершит операцию сложения.
Большинство механических калькуляторов реализуют перенос, выполняя отдельный цикл переноса после самого сложения. Во время сложения каждый перенос «сигнализируется», а не выполняется, и во время цикла переноса машина увеличивает цифры выше «сработавших» цифр. Эту операцию необходимо выполнять последовательно, начиная с цифры единиц, затем десятков, сотен и т. д., поскольку добавление переноса может сгенерировать новый перенос в следующей цифре.
Некоторые машины, в частности калькулятор Паскаля , второй известный калькулятор, который был построен, и самый старый из сохранившихся, используют другой метод: увеличение цифры от 0 до 9 взводит механическое устройство для хранения энергии, а следующее увеличение, которое перемещает цифру от 9 до 0, высвобождает эту энергию для увеличения следующей цифры на 1. Паскаль использовал гири и гравитацию в своей машине. Другая известная машина, использующая аналогичный метод, — это весьма успешный Комптометр 19 века , в котором гири были заменены пружинами.
Некоторые инновационные машины используют непрерывную передачу: добавление 1 к любой цифре продвигает следующую на 1/10 (что, в свою очередь, продвигает следующую на 1/100 и так далее). Некоторые инновационные ранние калькуляторы, в частности калькулятор Чебышева 1870 года [10] и конструкция Селлинга [11] 1886 года, использовали этот метод, но ни один из них не был успешным. В начале 1930-х годов калькулятор Марчанта реализовал непрерывную передачу с большим успехом, начав с метко названного калькулятора «Silent Speed». Марчант (позже ставший корпорацией SCM ) продолжал использовать и совершенствовать его и создавал калькуляторы с непрерывной передачей с непревзойденной скоростью вплоть до конца 1960-х годов, до конца эры механических калькуляторов.
Когда речь идет о цифровой схеме, например, о сумматоре, слово «перенос» используется в аналогичном смысле.
В большинстве компьютеров перенос из самого значимого бита арифметической операции (или бит, сдвинутый из операции сдвига) помещается в специальный бит переноса , который может использоваться как входной бит переноса для арифметики с многократной точностью или проверяться и использоваться для управления выполнением компьютерной программы . Тот же бит переноса также обычно используется для указания заемов при вычитании, хотя значение бита инвертируется из-за эффектов арифметики с дополнением до двух . Обычно значение бита переноса «1» означает, что сложение переполнило АЛУ , и должно учитываться при добавлении слов данных, длина которых больше, чем у ЦП. Для вычитающих операций используются два (противоположных) соглашения, поскольку большинство машин устанавливают флаг переноса при заеме, в то время как некоторые машины (например, 6502 и PIC) вместо этого сбрасывают флаг переноса при заеме (и наоборот).
Перенос может привести к переполнению целочисленного значения .