Что такое знаковое число

Не существует окончательного критерия, по которому любое из представлений является универсально превосходящим. Для целых чисел представление, используемое в большинстве современных вычислительных устройств, является дополнением до двух, хотя в мэйнфреймах серии Unisys ClearPath Dorado используется дополнение до единиц.

СОДЕРЖАНИЕ

История

Знаковое представление величины

Дополнение

Дополнение до восьми битов
Двоичное значение Дополнительное толкование Неподписанная интерпретация
00000000 +0 0
00000001 1 1
01111101 125 125
01111110 126 126
01111111 127 127
10000000 −127 128
10000001 −126 129
10000010 −125 130
11111101 −2 253
11111110 −1 254
11111111 −0 255

Чтобы сложить два числа, представленных в этой системе, выполняется обычное двоичное сложение, но затем необходимо выполнить сквозной перенос : то есть добавить любой результирующий перенос обратно в результирующую сумму. Чтобы понять, почему это необходимо, рассмотрим следующий пример, показывающий случай добавления −1 (11111110) к +2 (00000010):

В предыдущем примере первое двоичное сложение дает 00000000, что неверно. Правильный результат (00000001) появляется только при добавлении переноса.

Два дополнения

Восьмибитное дополнение до двух
Двоичное значение Интерпретация дополнения до двух Неподписанная интерпретация
00000000 0 0
00000001 1 1
01111110 126 126
01111111 127 127
10000000 −128 128
10000001 −127 129
10000010 −126 130
11111110 −2 254
11111111 −1 255

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

Пример 1 Пример 2
1. Начиная справа, найдите первую «1» 0010100 1 00101 1 00
2. Инвертируйте все биты слева от этой «1». 1101011 1 11010 100

Пример: для +2, что равно 00000010 в двоичном формате (символ

X означает «инвертировать все биты в X»):

Смещение двоичного

Восьмибитный избыток-128
Двоичное значение Интерпретация Excess-128 Неподписанная интерпретация
00000000 −128 0
00000001 −127 1
01111111 −1 127
10000000 0 128
10000001 1 129
11111111 +127 255

База −2

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

Сравнительная таблица

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

Читайте также:  Клинковый сыр что это

Четырехбитные целочисленные представления

Десятичный Без подписи Знак и величина Дополнение Два дополнения Превышение-8 (необъективно) База −2
+16 N / A N / A N / A N / A N / A N / A
+15 1111 N / A N / A N / A N / A N / A
+14 1110 N / A N / A N / A N / A N / A
+13 1101 N / A N / A N / A N / A N / A
+12 1100 N / A N / A N / A N / A N / A
+11 1011 N / A N / A N / A N / A N / A
+10 1010 N / A N / A N / A N / A N / A
+9 1001 N / A N / A N / A N / A N / A
+8 1000 N / A N / A N / A N / A N / A
+7 0111 0111 0111 0111 1111 N / A
+6 0110 0110 0110 0110 1110 N / A
+5 0101 0101 0101 0101 1101 0101
+4 0100 0100 0100 0100 1100 0100
+3 0011 0011 0011 0011 1011 0111
+2 0010 0010 0010 0010 1010 0110
+1 0001 0001 0001 0001 1001 0001
+0 0000 0000 0000 0000 1000 0000
−0 1000 1111
−1 N / A 1001 1110 1111 0111 0011
−2 N / A 1010 1101 1110 0110 0010
−3 N / A 1011 1100 1101 0101 1101
−4 N / A 1100 1011 1100 0100 1100
−5 N / A 1101 1010 1011 0011 1111
−6 N / A 1110 1001 1010 0010 1110
−7 N / A 1111 1000 1001 0001 1001
−8 N / A N / A N / A 1000 0000 1000
−9 N / A N / A N / A N / A N / A 1011
−10 N / A N / A N / A N / A N / A 1010
−11 N / A N / A N / A N / A N / A N / A

Та же таблица, если смотреть на это «учитывая эти двоичные биты, какое число интерпретируется системой представления»:

Двоичный Без подписи Знак и величина Дополнение Два дополнения Превышение-8 База −2
0000 0 0 0 0 −8 0
0001 1 1 1 1 −7 1
0010 2 2 2 2 −6 −2
0011 3 3 3 3 −5 −1
0100 4 4 4 4 −4 4
0101 5 5 5 5 −3 5
0110 6 6 6 6 −2 2
0111 7 7 7 7 −1 3
1000 8 −0 −7 −8 0 −8
1001 9 −1 −6 −7 1 −7
1010 10 −2 −5 −6 2 −10
1011 11 −3 −4 −5 3 −9
1100 12 −4 −3 −4 4 −4
1101 13 −5 −2 −3 5 −3
1110 14 −6 −1 −2 6 −6
1111 15 −7 −0 −1 7 −5

Другие системы

Аналогичный метод используется в стандартах сжатия видео H.264 / MPEG-4 AVC и H.265 High Efficiency Video Coding для расширения экспоненциального кодирования Голомба до отрицательных чисел. В этом расширении младший бит является почти знаковым; ноль имеет тот же самый младший бит (0), что и все отрицательные числа. Этот выбор приводит к тому, что представимое положительное число наибольшей величины на единицу больше отрицательного числа наибольшей величины, в отличие от дополнения до двух или зигзагообразного кодирования буферов протокола.

Источник

Читайте также:  какое вино подходит под шашлык

Не существует окончательного критерия, по которому любое из представлений является универсально превосходящим. Для целых чисел представление, используемое в большинстве современных вычислительных устройств, является дополнением до двух, хотя в мэйнфреймах серии Unisys ClearPath Dorado используется дополнение до единиц.

СОДЕРЖАНИЕ

История

Знаковое представление величины

Дополнение

Дополнение до восьми битов
Двоичное значение Дополнительное толкование Неподписанная интерпретация
00000000 +0 0
00000001 1 1
01111101 125 125
01111110 126 126
01111111 127 127
10000000 −127 128
10000001 −126 129
10000010 −125 130
11111101 −2 253
11111110 −1 254
11111111 −0 255

Чтобы сложить два числа, представленных в этой системе, выполняется обычное двоичное сложение, но затем необходимо выполнить сквозной перенос : то есть добавить любой результирующий перенос обратно в результирующую сумму. Чтобы понять, почему это необходимо, рассмотрим следующий пример, показывающий случай добавления −1 (11111110) к +2 (00000010):

В предыдущем примере первое двоичное сложение дает 00000000, что неверно. Правильный результат (00000001) появляется только при добавлении переноса.

Два дополнения

Восьмибитное дополнение до двух
Двоичное значение Интерпретация дополнения до двух Неподписанная интерпретация
00000000 0 0
00000001 1 1
01111110 126 126
01111111 127 127
10000000 −128 128
10000001 −127 129
10000010 −126 130
11111110 −2 254
11111111 −1 255

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

Пример 1 Пример 2
1. Начиная справа, найдите первую «1» 0010100 1 00101 1 00
2. Инвертируйте все биты слева от этой «1». 1101011 1 11010 100

Пример: для +2, что равно 00000010 в двоичном формате (символ

X означает «инвертировать все биты в X»):

Смещение двоичного

Восьмибитный избыток-128
Двоичное значение Интерпретация Excess-128 Неподписанная интерпретация
00000000 −128 0
00000001 −127 1
01111111 −1 127
10000000 0 128
10000001 1 129
11111111 +127 255

База −2

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

Сравнительная таблица

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

Читайте также:  сколько видов икон божьей матери

Четырехбитные целочисленные представления

Десятичный Без подписи Знак и величина Дополнение Два дополнения Превышение-8 (необъективно) База −2
+16 N / A N / A N / A N / A N / A N / A
+15 1111 N / A N / A N / A N / A N / A
+14 1110 N / A N / A N / A N / A N / A
+13 1101 N / A N / A N / A N / A N / A
+12 1100 N / A N / A N / A N / A N / A
+11 1011 N / A N / A N / A N / A N / A
+10 1010 N / A N / A N / A N / A N / A
+9 1001 N / A N / A N / A N / A N / A
+8 1000 N / A N / A N / A N / A N / A
+7 0111 0111 0111 0111 1111 N / A
+6 0110 0110 0110 0110 1110 N / A
+5 0101 0101 0101 0101 1101 0101
+4 0100 0100 0100 0100 1100 0100
+3 0011 0011 0011 0011 1011 0111
+2 0010 0010 0010 0010 1010 0110
+1 0001 0001 0001 0001 1001 0001
+0 0000 0000 0000 0000 1000 0000
−0 1000 1111
−1 N / A 1001 1110 1111 0111 0011
−2 N / A 1010 1101 1110 0110 0010
−3 N / A 1011 1100 1101 0101 1101
−4 N / A 1100 1011 1100 0100 1100
−5 N / A 1101 1010 1011 0011 1111
−6 N / A 1110 1001 1010 0010 1110
−7 N / A 1111 1000 1001 0001 1001
−8 N / A N / A N / A 1000 0000 1000
−9 N / A N / A N / A N / A N / A 1011
−10 N / A N / A N / A N / A N / A 1010
−11 N / A N / A N / A N / A N / A N / A

Та же таблица, если смотреть на это «учитывая эти двоичные биты, какое число интерпретируется системой представления»:

Двоичный Без подписи Знак и величина Дополнение Два дополнения Превышение-8 База −2
0000 0 0 0 0 −8 0
0001 1 1 1 1 −7 1
0010 2 2 2 2 −6 −2
0011 3 3 3 3 −5 −1
0100 4 4 4 4 −4 4
0101 5 5 5 5 −3 5
0110 6 6 6 6 −2 2
0111 7 7 7 7 −1 3
1000 8 −0 −7 −8 0 −8
1001 9 −1 −6 −7 1 −7
1010 10 −2 −5 −6 2 −10
1011 11 −3 −4 −5 3 −9
1100 12 −4 −3 −4 4 −4
1101 13 −5 −2 −3 5 −3
1110 14 −6 −1 −2 6 −6
1111 15 −7 −0 −1 7 −5

Другие системы

Аналогичный метод используется в стандартах сжатия видео H.264 / MPEG-4 AVC и H.265 High Efficiency Video Coding для расширения экспоненциального кодирования Голомба до отрицательных чисел. В этом расширении младший бит является почти знаковым; ноль имеет тот же самый младший бит (0), что и все отрицательные числа. Этот выбор приводит к тому, что представимое положительное число наибольшей величины на единицу больше отрицательного числа наибольшей величины, в отличие от дополнения до двух или зигзагообразного кодирования буферов протокола.

Источник

Портал знаний