Автор: Пользователь скрыл имя, 31 Октября 2011 в 14:55, лекция
Под системой счисления (с/c) понимают способ записи чисел с помощью цифр и символов (букв). Системы счисления делятся на позиционные и непозиционные. В позиционных системах счисления "вес" цифры зависит от ее местоположения , позиции в числе. Непозиционной системой счисления, например, является римская система счисления. В вычислительной технике широко используются позиционные системы счисления.
Основанием системы счисления называется количество цифр и символов, используемых в ней (обозначим основание через р). Величина р показывает, во сколько раз численное значение единицы данного разряда больше численного значения последущего разряда.
Информация хранится в памяти и обрабатывается процессором в двоичном виде. Формат записи данных в памяти называется внутренним представлением информации в ЭВМ.
Применение двоичной системы счисления позволяет использовать для хранения информации элементы, имеющие всего два устойчивых состояния. Одно состояние служит для изображения единицы в соответствующем разряде числа, другое-для изображения нуля. По такому же принципу изображают знак числа: 0-для знака "+", 1-для знака "-".
Существует два основных способа представления чисел, называемых представлениями с фиксированной и плавающей точкой.
2.1. Двоичные числа с фиксированной точкой
Для чисел с фиксированной точкой положение точки зафиксировано после младшей целой цифры числа, дробная часть отсутствует, точка в изображении числа опускается. Таким образом, с фиксированной точкой могут храниться только целые числа, в памяти машины они записываются в 2 с/с.
Двоичное целое число занимает в памяти машины 16 или 32 двоичных разряда (бита). Это зависит от длины числа. Поля памяти имеют специальные названия: 8 бит - байт, 16 бит - слово, 32 бита - двойное слово, 1024 байта - Кбайт. Все байты памяти пронумерованы, начиная с нуля. Адресом информации считается адрес (номер) самого первого байта поля памяти, выделенного для ее хранения.
Рассмотрим, как записывается число в слове.
Знак числа записывается в старшем бите 1-го байта. Младший двоичный разряд числа записывается в 0 бит, т. е. число, как обычно, заполняет поле справа налево.
Если число положительное, то оставшиеся биты заполняются нулями. Например, число 137 в четырех байтах будет записано следующим образом:
13710=100010012
00000000 00000000 00000000 10001001
1-й байт 2-й байт 3-й байт 4-й байт
Если во всех битах с 0-го по 31-й поместить 1, то получим максимальное целое положительное число, которое может быть записано в слово.
01111111 11111111 11111111 111111112 = 231 – 1 = 2147483647.
Форму записи положительных двоичных чисел называют прямым кодом числа. Отрицательные числа записывают в дополнительном коде.
Использование дополнительного кода позволяет упростить аппаратурную реализацию операции вычитание, которая заменяется операцией сложения уменьшаемого, представленного в прямом коде, и вычитаемого, представленного в дополнительном коде.
Дополнительный код получается из прямого кода путем инвертирования каждого бита, а затем добавления 1 к младшему биту числа.
Например, представим число –95 как двоичное с фиксированной точкой.
-9510=-10111112
а) записываем двоичное число без знака в два байта:
00000000 01011111
б) инвертируем:
11111111 10100000
в) добавляем 1 к младшему биту:
11111111 10100001 - дополнительный код числа –95.
Если из 13710 вычесть 9510 , получим 4210=1010102.
Сложим записи чисел 13710 и - 9510.
00000000 10001001
+11111111 10100001
00000000 00101010
Единица переноса полученного результата отбрасывается.
2.2. Числа с плавающей точкой
Числа, в которых положение точки не зафиксировано после некоторого разряда, а указывается специальным числом, называются числами с плавающей точкой.
В общем виде любое число А может быть представлено так:
А = m * Np, где m-мантисса числа, N-основание системы счисления, р-порядок. Число с плавающей точкой может храниться в одном из следующих форматов:
|
|
+- | характеристика | Мантисса |
79 | 78 64 | 63 0 |
В нижних строках указаны номера бит памяти, занимаемой числами.
С целью упрощения аппаратной реализации арифметических операций в представлении числа знак порядка явно не сохраняется. В записи числа от порядка переходят к характеристике, которая получается из порядка путем прибавления поправочного коэффициента, соответственно формату 127, 1023, 16383.
Представим число –18.2 с плавающей точкой:
двоичное представление числа: -10010.001100110011....
нормализованное представление: -1.0010001100110011... * 2100
Переходим от порядка к характеристике: 4 + 127 = 131 = 100000112
Число -18.2 имеет вид:
1 | 10000011 | 00100011001100110011010 |
31 | 30 23 | 22 |
В 16 с/с это число записывается таким образом: C191999А
Во втором формате характеристика записи числа –18.2 будет:
4+1023 = 1027 = 100000000112
Число –18.2 во втором формате запишется следующим образом:
1 | 10000000011 | 00100011001100110011...0110011 |
63 | 62 52 | 51 |
В 16 с/с это число записывается таким образом: C032333333333333.
Если количество цифр в числе, записанном в памяти или получающемся в процессе вычисления, больше выделенного поля памяти, то избыточные цифры отбрасываются, и число, записанное в память, будет приближенным.
Округление числа заключается в следующем. Если в старшем отбрасываемом бите числа записана единица, то к самому младшему биту оставшейся части числа прибавляется единица. Если же первая избыточная двоичная цифра нуль, то лишние цифры просто отбрасываются.
2.3. Символьная информация
В ПЭВМ для внутреннего представления символьных данных используется код ASCII, в котором каждому символу соответствует 8-разрядный код, т.е. в байт записывается один символ.
Например, текст "1486DX2" представляется в памяти:
00110001 | 00110100 | 00111000 | 00110110 | 01000100 | 01011000 | 00110010 |
1 | 4 | 8 | 6 | D | X | 2 |