Отрицательные и положительные числа примеры: Сложение Чисел с Разными Знаками

Отрицательные числа

Главная / Ассемблер / Для чайников / Введение / Представление данных /

Мы разобрались, как в памяти компьютера представлены положительные числа, то есть числа без знака. Но ведь числа бывают и отрицательными, то есть числа со знаком минус. Чтобы применять те же самые байты и слова для представления отрицательных чисел, существует специальная операция, которая называется дополнение до двух. Но прежде чем рассмотреть эту операцию, покажем, как отрицательное число отличить от положительного.

Для того чтобы указать знак числа, достаточно одного разряда (бита). Обычно знаковый бит занимает старший разряд числа. Если старший бит числа равен 0, то число считается положительным. Если старший разряд числа равен 1, то число считается отрицательным. Пример байта со знаком приведён на рис. 2.3.

Разряды Число
7 6 5 4 3 2 1 0
1 0 0 1 0 0 1 0 -110
0 1 1 0 1 1 1 0
+110

Рис. 2.3. Отрицательное число в памяти компьютера.

Как вы успели заметить, для представления числа со знаком требуется использовать старший бит для определения знака числа. Это означает, что этот старший бит уже нельзя использовать для записи самого числа, то есть максимальное значение, которое мы сможем записать в байт, будет уже не 255, а всего 127. Диапазоны возможных значений чисел со знаком приведены в таблице 2.5.

Таблица 2.5. Диапазоны возможных значений чисел со знаком.

Тип числа Диапазон значений Степени двойки
Байт –128…+127 -27…(27 – 1)
Слово –32 768…+32 767 -215…(215 – 1)
Двойное слово –2 147 483 648…
+2 147 483 647
-231…(231 – 1)
Учетверённое слово –9 223 372 036 854 775 808…
+9 223 372 036 854 775 807
-263…(263 – 1)

А теперь разберёмся с загадочной операцией дополнение до двух. Для изменения знака числа выполняется инверсия, то есть для числа в двоичном представлении все нули заменяются единицами, а все единицы – нулями. Затем к полученному результату прибавляют 1. Возьмём, например, десятичное число 110 (в двоичной системе это число 01101110). Тогда

Исходное число 0110 1110
Инверсия 1001 0001
Прибавляем 1 1001 0010

Как видим, после выполнения этих преобразований в старшем разряде у нас 1, то есть число отрицательное. А теперь проверим, что это число действительно отрицательное. Как это сделать? Вспомним, что (–110 + 110 = 0). То есть сложение полученных нами двоичных чисел тоже должно дать в результате ноль. Итак


   01101110
+
   10010010
=
  100000000

То есть у нас получилось девятиразрядное число 100000000 (десятичное 256). Однако мы работаем с байтом, а в байте, как известно, только 8 бит (от 0 до 7). То есть единица у нас перешла в 8-й бит, которого в байте попросту нет. То есть для байта это эквивалентно числу 0.

В некоторых источниках дополнение до двух носит название двоичный дополнительный код.

Подведём итоги

Преобразования положительного десятичного числа со знаком в двоичное число выполняется также как и для чисел без знака.

Преобразования отрицательного десятичного числа со знаком в отрицательное двоичное число выполняется при помощи операции дополнение до двух (с использованием двоичного дополнительного кода). То есть сначала число преобразовывается в двоичное, а потом используется двоичный дополнительный код.

Преобразования положительного двоичного числа со знаком (в старшем бите 0) в десятичное число выполняется также как и для чисел без знака.

Преобразование отрицательного двоичного числа (в старшем бите 1) в десятичное число выполняется путём нахождения его дополнительного кода. То есть для двоичного числа 10010010 операция будет следующей:

Исходное число 1001 0010
Инверсия 0110 1101
Прибавляем 1 0110 1110

В итоге получаем число 110, но поскольку в исходном числе старший бит был равен 1, то это отрицательное число, то есть –110.


Представление положительных и отрицательных чисел в памяти компьютера. Прямой и дополнительный код числа

Прямой код

Прямой код – это представление числа в двоичной системе счисления, при котором первый (старший) разряд отводится под знак числа.

Если число положительное, то в левый разряд записывается 0; если число отрицательное, то в левый разряд записывается 1.

Таким образом, в двоичной системе счисления, используя прямой код, в восьмиразрядной ячейке (байте) можно записать семиразрядное число. Например:

0 0001101 – положительное число
1 0001101 – отрицательное число

Количество значений, которые можно поместить в семиразрядной ячейке со знаком в дополнительном разряде равно 256. Это совпадает с количеством значений, которые можно поместить в восьмиразрядную ячейку без указания знака. Однако диапазон значений уже другой, ему принадлежат значения от -128 до 127 включительно (при переводе в десятичную систему счисления).

При этом в вычислительной технике прямой код используется почти исключительно для представления положительных чисел.

Для отрицательных чисел используется так называемый

дополнительный код. Это связано с удобством выполнения операций над числами электронными устройствами компьютера.

Дополнительный код

В дополнительном коде, также как и прямом, первый разряд отводится для представления знака числа. Прямой код используется для представления положительных чисел, а дополнительный – для представления отрицательных. Поэтому, если в первом разряде находится 1, то мы имеем дело с дополнительным кодом и с отрицательным числом.

Все остальные разряды числа в дополнительном коде сначала инвертируются, т.е. заменяются противоположными (0 на 1, а 1 на 0). Например, если 1 0001100 – это прямой код числа, то при формировании его дополнительного кода, сначала надо заменить нули на единицы, а единицы на нули, кроме первого разряда. Получаем 1 1110011. Но это еще не окончательный вид дополнительного кода числа.

Далее следует прибавить единицу к получившемуся инверсией числу:

1 1110011 + 1 = 1 1110100

В итоге и получается число, которое принято называть дополнительным кодом числа.

Причина, по которой используется дополнительный код числа для представления отрицательных чисел, связана с тем, что так проще выполнять математические операции. Например, у нас два числа, представленных в прямом коде. Одно число положительное, другое – отрицательное и эти числа нужно сложить. Однако просто сложить их нельзя. Сначала компьютер должен определить, что это за числа. Выяснив, что одно число отрицательное, ему следует заменить операцию сложения операцией вычитания. Потом, машина должна определить, какое число больше по модулю, чтобы выяснить знак результата и определиться с тем, что из чего вычитать. В итоге, получается сложный алгоритм. Куда проще складывать числа, если отрицательные преобразованы в дополнительный код. Это можно увидеть на примерах ниже.

Операция сложения положительного числа и отрицательного числа, представленного в прямом коде

  1. Прямой код числа 5: 0 000 0101
    Прямой код числа -7: 1 000 0111
  2. Два исходных числа сравниваются. В разряд знака результата записывается знак большего исходного числа.
  3. Если числа имеют разные знаки, то вместо операции сложения используется операция вычитания из большего по модулю значения меньшего. При этом первый (знаковый) разряд в операции не участвует.
        _ 000 0111
          000 0101
        -------------
          000 0010
        
  4. После выполнения операции учитывается первый разряд. Результат операции 1 000 0010, или -210.

Операция сложения положительного числа и отрицательного числа, представленного в дополнительном коде

  1. Прямой код числа 5: 0 000 0101
    Прямой код числа -7: 1 000 0111
  2. Формирование дополнительного кода числа -7.
    Прямой код : 1 000 0111
    Инверсия : 1 111 1000
    Добавление единицы: 1 111 1001
  3. Операция сложения.
          0 000 0101
        + 1 111 1001
          --------------
          1 111 1110
        
  4. Проверка результата путем преобразования к прямому коду.
    Дополнительный код: 1 111 1110
    Вычитание единицы : 1 111 1101
    Инверсия : 1 000 0010 (или -210)

В чем разница между положительными и отрицательными числами?

Алгебра — это специальный раздел математики, который используется для работы с арифметическими операциями, такими как сложение, вычитание, умножение или деление, и соответствующими символами, также известными как переменные. Переменные не фиксируются и меняют свое значение. Некоторыми примерами переменных являются x, y и z.

Ноль

Ноль имеет уникальное отличие: он не имеет ни положительного, ни отрицательного значения. Ноль отделяет положительные числа от отрицательных. Отрицательные числа лежат слева от числовой строки и обозначаются как –4, –3, –2, –1, 0, а положительные числа – 1, 2, 3, 4.

Положительные числа

Положительные числа — это целые числа, которые больше нуля. Положительные числа бесконечны. Другими словами, любое число выше нуля считается положительным числом. Положительные числа лежат справа от числовой прямой. Например, сбережения являются положительными. Положительные числа могут включать в себя рациональные числа, иррациональные числа или комплексные числа. Положительные числа увеличиваются по величине по мере удаления от числовой прямой.

Отрицательные числа

Отрицательные числа — это целые числа, которые меньше нуля. Другими словами, любое число меньше нуля считается отрицательным числом. Отрицательные числа лежат слева от числовой прямой. Например, кредиты отрицательные. Отрицательные числа могут включать рациональные числа, иррациональные числа или комплексные числа. Отрицательные числа уменьшаются по величине по мере удаления от числовой прямой.

Следующая диаграмма может использоваться для иллюстрации положительных и отрицательных чисел на числовой прямой: 

Следующая таблица иллюстрирует различия между отрицательными и положительными числами соответственно:

Отрицательные числа Положительные числа
Менее 0 Большой, чем 0
. слева от числовой строки Расположено справа от числовой строки
Пример: -1,-2.. и т. д. Пример: 1,2,3.. и т. д.

Свойства положительных и отрицательных чисел

  • У каждого положительного числа есть равный и противоположный отрицательный аналог.
  • Каждое отрицательное число можно рассматривать как отрицание положительного числа.

Преобразование положительных и отрицательных чисел

Положительные числа можно преобразовать в отрицательные, умножив на значение -1, и наоборот. Это умножение используется для достижения отрицания соответствующего аналога.

Например, преобразование 5 в отрицательное число может быть выполнено следующим образом: 

5 × (-1) = -5 , что является отрицательным числом

-8 × (-1) = 8, что является положительным числом

Примеры задач

Вопрос 1. Равны ли значения положительных и отрицательных чисел?

Решение: 

Да, поскольку каждое положительное число имеет равное и противоположное отрицательное значение. Следовательно, положительные и отрицательные числа равны по значениям.

Вопрос 2. Назовите некоторые применения отрицательных чисел.

Решение:

  • Температура – ​​представляет собой выражение тепла и холода. Положительная температура указывает на жаркую температуру, а отрицательная температура указывает на холодную погоду.
  • Деньги – Отрицательные значения денег представляют кредит в банке
  • Лифт/Лифт – Этажи, соответствующие цокольному этажу, такие как подвал или парковка, отмечены отрицательными числами (например, -1, -2, -3.)

Вопрос 3. Какие из следующих чисел являются отрицательными и положительными числами?

3/-5, -1/2, 10/3, -4/-12, √2, 13/√-5, -2/-9, 5/6

Решение:

Здесь,

Положительные числа

10/3, -4/-12, √2, -2/-9, 5/6

Отрицательные числа

3/-5, -1/2, 13/ √-5

Вопрос 4. Назовите любые 5 положительных рациональных чисел?

Решение:

Рациональные числа: Представлено в виде p/q, где q≠0.

Здесь 5 положительных рациональных чисел будут

3/5, -1/-2, 4/8, 9/5, -3/-10

Вычитание отрицательных чисел – BetterExplained как объяснить концепцию вычитания отрицательных чисел своему классу. Почему 8 — (-6) = 14 то же самое, что 8 + 6 = 14?

Я давно усвоил отрицание как «противоположное», а вычитание как «противоположное сложению», поэтому в моей голове появилось понятие «противоположное противоположному сложению», которое упрощается до «сложения».

Но эта внутренняя вербализация все еще была довольно абстрактной. Подумав о лучшей интуиции, вот мой ответ:

Отличный вопрос! Пришлось немного подумать. Сложение и вычитание связаны, но немного отличаются от положительных и отрицательных чисел.

Представьте, что вы идете на прогулку. Вы смотрите вперед и делаете 8 шагов вперед. Это действительно так:

0 + 8

0 — ваша отправная точка. «+» означает «лицом вперед», а «8» означает «8 шагов в том направлении, в котором вы смотрите». Ok.

Теперь предположим, что мы хотим повернуться лицом вперед и сделать еще 6 шагов. Это будет:

8 + 6 = 14

Что дает нам 14 шагов от начальной точки. Что, если бы мы повернулись лицом назад и сделали 6 шагов?

8 — 6 = 2

Это означает, что мы довольно близко к нашей отправной точке, всего в 2 шагах. Что, если бы мы повернулись лицом назад, но прошли назад 6 шагов?

8 — (-6) = 14

Ах! Сложение/вычитание говорит нам, в какую сторону смотреть, а положительное/отрицательное говорит нам, будут ли наши шаги идти вперед или назад (независимо от того, в какую сторону мы смотрим).

В некотором смысле сложение/вычитание действует как глагол («лицом вперед» или «лицом назад»), а положительное/отрицательное действует как прилагательное («обычные шаги» или «шаги назад»). Или, может быть, это наречие, изменяющее то, как мы ходим (идем вперед, идем назад). Вы поняли идею.

Для старших школьников «вычитание минуса» может рассматриваться как «аннулирование долга». Если у меня есть долг в 30 долларов, и кто-то «вычитает его», я фактически заработал 30 долларов. В общем, если вы устраните недостаток, вы улучшите свое положение — положительное.

Эти объяснения немного абстрактны, ходячее интересно попробовать напрямую. Я на самом деле ходил, думая через интуицию. (Если вы предприимчивы, вы можете начать думать о шагах в сторону или прыжках и о том, как это будет представлено.)

Счастливая математика.

Приложение

При выполнении простых арифметических действий мы отслеживаем только конечное местоположение, а не ориентацию. Обращение назад и ходьба назад могут заставить нас смотреть на 0, пока мы продвигаемся вперед. Но математически наша конечная точка такая же: 8 — (-6) = 8 + 6 = 14,9.0003

Если нам важно, как мы смотрим, нам нужен более сложный математический объект (вектор), чтобы отслеживать нашу ориентацию, а также положение («14, лицом вперед» против «14, лицом назад») . Возможно, мы использовали бы линейный интеграл, двигаясь по пути и отслеживая направление, в котором мы движемся.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *