Наиболее простой компьютерной арифметической операцией над целыми числами, обычно реализованной аппаратно, является прибавление единицы. В большинстве языков программирования для выполнения такой операции существует специальное обозначение, отличное от обычного сложения. Так, в Turbo-Pascal это функция succ(a) и процедура inc(а). В языке С — эта операция а++ и ++а.

Результат функции succ(a) может быть помещен в любую переменную того же типа, что и а, и, если она отлична от а (например, b:=succ(a)), то значение переменной а при этом останется прежним. В результате выполнения процедуры inc(a) значение а окажется увеличенным на единицу.

В С операции а++ и ++а значение самой переменной а увеличивают на единицу, но в первом случае результатом выражения считается значение а до его увеличения, а во втором случае — после.

Сформулируем алгоритм реализации аппаратного прибавления единицы.

Любое целое число, записанное в k разрядах, будем обозначать как <начало><последний разряд>, где <начало> — это первые слева k-1 разрядов, а <последний разряд> самый правый разряд в записи числа. Число является четным, если <последний разряд> = 0, и нечетным — в противном случае. Заметим, что запись числа в дополнительном коде это правило не нарушает.

Рекурсивный алгоритм succ(a,k) прибавления единицы к левым разрядам числа а:

  • если k = 0, то конец;
  • если а — четное, то вносим единицу в <последний разряд>; конец;
  • если а — нечетное, то вносим ноль в <последний разряд>; succ(a,k) = succ(<начало>, k-1); конец.

Очевидно, если все k разрядов исходного числа а состоят из единиц, алгоритм все равно закончит свою работу после k шагов (в остальных случаях их будет меньше) и результатом будет являться число 0.

content

Share
Published by
content

Recent Posts

Магнитное поле тока. Магнитные силовые линии

Разница между энергией электрического поля и энергией магнитного поля примерно такая же, как между энергией,…

12 месяцев ago

Постоянные магниты

Когда-то легендарный пастух Магнес, нашел природный магнитный камень, притягивающий железо. В последствии этот камень назвали магнетит или магнитный…

12 месяцев ago

Соединение конденсаторов

В электрических цепях применяются различные способы соединения конденсаторов. Соединение конденсаторов может производиться: последовательно, параллельно и последовательно-параллельно (последнее иногда называют смешанное соединение конденсаторов). Существующие…

12 месяцев ago

Обозначение конденсаторов

Обозначение конденсаторов на схемах определено ЕСКД ГОСТ 2.728-74. Обозначения условные графические в схемах. Резисторы, конденсаторы. Итак,…

12 месяцев ago

Виды конденсаторов

Узнав, что же такое конденсатор, рассмотрим, какие бывают виды конденсаторов. Итак, виды конденсаторов можно классифицировать по…

1 год ago

Энергия поля конденсатора

Вся энергия заряженного конденсатора сосредотачивается в электрическом поле между его пластинами. Энергию, накоп­ленную в конденсаторе, можно определить…

1 год ago