Оценить:
 Рейтинг: 1

Информатика и ИТ. Нейросети.

<< 1 ... 4 5 6 7 8 9 10 11 12 13 >>
На страницу:
8 из 13
Настройки чтения
Размер шрифта
Высота строк
Поля
=128.

Такой диапазон чисел явно недостаточен даже для бытовых расчетов. Для записи числа, принадлежащего большему диапазону, требуется памяти больше, чем один байт. Двухбайтовая ячейка (часто ее называют словом) дает диапазон хранения чисел соответственно 0—65536 либо, для знаковых целых чисел -32768 – 32767.

В редких случаях также используется представление целых чисел в четырехбайтовых ячейках. В некоторых случаях для хранения целых чисел небольшого разряда используют упаковку в 64-разрядное слово. Такое случается при использовании мультимедийной информации.

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

Компьютерное представление вещественныхчисел

Говоря о хранении вещественных чисел, следует особо рассмотреть вопрос точности их представления. При бытовых исчислениях обычно обходятся точностью до 2-3-го десятичного знака после запятой, практика научных и инженерных измерений использует 5—6 знаков. Однако нельзя исключать возможность использования очень длинной дробной части числа (допустим, числа {х} с высокой точностью) или бесконечной периодической дроби (например, результат деления 1/3).

Длина ячейки памяти конечна (кратна 8, разрядной длине байта), следовательно, имея в виду вышесказанное дробную часть нужно усекать до некоторой длины – для обеспечения оговоренной точности. В дальнейшем, при выполнении арифметических действий, неточности такого рода нарастают.

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

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

В целях увеличения количества разрядов мантиссы (а значит количества значащих цифр) вещественные числа хранятся в нормализованном виде. Нормализованное число в старшем разряде мантиссы обязательно имеет цифру отличную от нуля:

0,0054321

*10

=0,54321

*10

 – нормализованное десятичное число

0,0100101

*2

 = 0,100101

*2

– нормализованное двоичное число

Как и в случае целых чисел, в программных системах могут использоваться несколько типов хранимых данных: Стандарты программного обеспечения требуют наличия 4-байтового и 8-байтового представления чисел, это числа одинарной и двойной точности.

Формат чисел одинарной точности использует старший бит как знаковый флаг, 8 разрядов для хранения порядка и 23 разряда для хранения мантиссы.

В представленной на рис.2.1. разрядной сетке числа -2,21*10

 старший разряд равен 1 (число отрицательное). Следующие восемь бит хранят характеристику – смещенный порядок, т.е. порядок числа, увеличенный на значение смещения. Значение смещения для четырехбайтового представления равно 127. Смещение порядка применяют для упрощения операций над числами с плавающей точкой. В рассматриваемом примере характеристика равна: 127+ (-5) =122

= 1111010

.

С девятого разряда размещается мантисса: 221

= 11011101

.

Громоздкая двоичная запись часто заменяется шестнадцатеричным представлением: BD6E10000.

Четырех байтовый формат хранения представляет числа в диапазоне 3,4*10

-3,4*10

; точность этого формата составляет 7 знаков в десятичном представлении.

В случае если мантисса числа превышает имеющуюся у формата разрядность, младшие разряды округляются и отбрасываются: 123456789,987654321 ? 123456800,0.

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

В двойном формате порядок занимает 11 разрядов, а мантисса – 52 разряда.

8 -ми байтовый формат представляет числа в диапазоне ±4,9*10

 – 4,9*10

; формат двойной точности в десятичном представлении составляет 15 знаков, смещение порядка равно 1024.

Фиксированное представление чисел позволяет хранить точное значение числа, а представление с плавающей точкой – округляется до точности представления и отображается на экране (без форматирования) в экспоненциальном виде: 1.234568Е+08, где конструкция Е+08 указывает на сдвиг запятой на количество знаков вправо (+) или влево (-).

Компьютерная арифметика. Булевы функции

Компьютерная арифметика.

В двоичной системе, как и в любой системе счисления возможны все арифметические операции: сложение, вычитание, умножение, деление.

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

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

Сложение чисел нужно производить поразрядно, начиная с младшего разряда. При этом применяются следующие правила:

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

Умножение. Умножение двоичных чисел, также схоже на умножение десятичных. Вот пример умножения двоичных чисел столбиком.

Точно так же, как и при умножении двоичных чисел, мы умножаем первое число на каждый разряд второго и записываем полученные результаты под первой чертой, одно под другим со сдвигом. Затем полученные промежуточные результаты складываем с учетом сдвига. Однако в случае с двоичными числами имеется одно существенное отличие. Так как любой разряд двоичного числа либо ноль, либо единица, то промежуточное умножение сильно облегчается. В самом деле, любое число, умноженное на единицу, равно самому себе. Любое число, умноженное на ноль, равно нулю. Именно поэтому умножение двух двоичных чисел сводится к операциям сдвига и сложения. Это очень важно для построения вычислительных машин. Для реализации операций сложения и умножения нужны только сумматоры и сдвиговые регистры.

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

<< 1 ... 4 5 6 7 8 9 10 11 12 13 >>
На страницу:
8 из 13