Представление двоичных чисел со знаком. Прямой код.
10101110
При вычитании нужно помнить, что занятая в ближайшем старшем разряде единица дает две единицы младшего разряда. В случае если в соседних старших разрядах стоят нули, то приходится занимать единицу через несколько разрядов. При этом единица, занятая в ближайшем старшем разряде дает две единицы в младшем и единицы во всех нулевых разрядах, стоящих между младшим и тем старшим, у которого бралась единица.
110001,01
11001,10
10111,11
Умножение двоичных чисел производится с использованием таблиц умножения и сложения.
Деление – с использованием двоичных таблиц вычитания и умножения.
В двоичной арифметике, как и в обычной различают положительные и отрицательные числа. В двоичной системе есть три способа представления чисел со знаком˸
- представление абсолютной величины и знака отдельно ( прямой код);
- представление отрицательных чисел в дополнительном коде;
- представление отрицательных чисел в обратном коде.
Условно принято обозначать ʼʼ+ʼʼкак 0, ʼʼ-ʼʼ как 1. Знак располагается в позиции самого старшего разряда. К примеру, +10 в прямом коде - ϶ᴛᴏ 0|1010 пк , а число -10 это 1|1010 пк.
Этот код достаточно часто используется в машинах.
Чтобы представить отрицательное число в дополнительном коде, крайне важно поменять нули на единицы, а единицы на нули и добавить единицу к самому младшему разряду. К примеру, число 10 в прямом коде это 0|1010
Дополнительный код получается следующим образом˸
1|0101
+ 1
1|0110дк = -10
Чтобы представить отрицательное число в обратном коде, нужно заменить все 1 на 0,а все 0 на 1 и поместить 1 в знаковый разряд. Пусть то же число -10. Двоичный эквивалент +10= 0|1010пк откуда получаем обратный код˸ -10 1|0101 ок.
Целые числа хранятся в памяти с фиксированной запятой. Для хранения целых неотрицательных чисел отводится одна ячейка памяти =8 битов. К примеру А2 = 11110000 будет хранится в ячейке памяти следующим образом˸
Максимальное число - ϶ᴛᴏ когда во всех ячейках единицы. Для N- разрядного числа это
2N – 1. В восьми битах может храниться от 0 до 255.
Для хранения целых со знаком отводится две ячейки памяти - два байта͵ ᴛ.ᴇ. 16 битов, причем старший бит (левый) отводится под знак (положительное – 0, отрицательное – 1).
Максимальное положительное ( с учетов выделения одного разряда под знак) в N- разрядном представлении равно 2N-1 – 1.
Для представления отрицательных чисел используется дополнительный код, который позволяет заменить арифметическую операцию вычитания сложением, что упрощает работу процессора и увеличивает его быстродействие. Дополнительный код отрицательного числа А, хранящегося в N ячейках, равен 2N – |А|. В компьютерной N-разрядной арифметике 2N = 0, т.к. действительно запись такого числа состоит из одной единицы и остальные нули, а в N-разрядную ячейку может уместиться только N младших разрядов, ᴛ.ᴇ. N нулей.
Недостатком представления чисел в формате с фиксированной запятой является небольшой диапазон представления величин, недостаточной для решения математических. Физических, экономических и др.
Размещено на реф.рф
задач, где используются как очень малые, так и очень большие числа.
Представление чисел в формате с плавающей запятой. В этом случае положение запятой может меняться. Формат базируется на экспоненциальной форме записи, в которой должна быть представлено любое число˸
A = m * qn ,
где m – мантисса числа, q –основание системы счисления, n–порядок числа.
Для единообразия представления чисел с плавающей запятой используется нормализованная форма, при которой мантисса меньше 1, к примеру 555,55 в нормализованном виде = 0,55555 * 103 . .
Число в данном формате занимает в памяти машины 4 (обычная точность) или 8 байтов (двойная точность). Знак порядка
Первый байт ! 2-й байт ! 3-й байт ! 4-й байт