Формы представление информации в компьютере

Упражнения

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

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

а) = ; б) = ; в) = ;

г) = ; д) = ; е) = ;

ж) = ; з) =

3. Найти x и y из условий:

= ; = ; =

4. Найти основание системы счисления из условий:

= ; = ; =

5. Среди данных дробей найти наибольшую и наименьшую:

а) ; б) ; в) ; г)

6. Данные числа записать в системах счисления с основаниями 2, 8, 16:

а) ; б) ; в) ; г)

7. Записать в виде двоичных систематических дробей:

; ; ; .

 

 

Кодирование информации – одна из базовых тем раздела теоретических основ информатики, отражающая фундаментальную необходимость представления информации в какой – либо форме. Освещение данной темы в курсе «Информатика» состоит в рассмотрении понятия кодирования как представления информации в компьютере в ознакомительном и образовательном плане.

Кодирование информации.Коды появились в глубокой древности в виде криптограмм (по-гречески - тайнописи), когда ими пользовались для засекречивания важного сообщения от тех, кому они не были предназначены. Исторически первый код, предназначенный для передачи сообщений, изобретенный Сэмюэлем Морзе и известен как азбука Морзе. В этом коде каждой букве или цифре сопоставляется своя последовательность из кратковременных (называемых точками) и длительных (тире) сигналов, разделяемых паузами. Коды, использующие два различных элементарных сигнала, называются двоичными. Если отвлечься от физической природы сигналов, удобно обозначать их символами 0 и 1. Тогда кодовые слова можно представлять как последовательность из нулей и единиц.

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

Для представления информации в памяти компьютера (как числовой, так и нечисловой) используется двоичный способ кодирования. В качестве единицы информации условились принять один бит. Бит - это единица информации, принимающая значение либо 1, либо 0. Комбинация из 8 бит называется байтом. Таким образом, в компьютере каждый символ входной информации представляется одним байтом. Каждый байт имеет свой номер (его называют адресом). Наибольшую последовательность бит, которую компьютер может обрабатывать как единое целое, называют машинным словом. Длина машинного слова зависит от разрядности процессора и может быть равной 16, 32 битам и т.д.

Объем памяти обычно выражается в килобайтах. Килобайт равен 1024 байтам и обозначается буквой К. Например, компьютер с объемом памяти в 64К может хранить 64 * 1024 = 65536 символов.

Поскольку объемы памяти компьютера постоянно возрастают, были введены дополнительные единицы измерения объёма памяти "мегабайт", «гигабайт» и т.д. Например, в 10 мегабайтах может храниться приблизительно 10 млн. символов.

Ниже приведены производные единицы информации:

1Кбайт = 1024 байта = 210 байт; 1Мбайт = 1024 Кбайта = 220 байт;

1Гбайт = 1024 Мбайта = 230 байт;

1(Терабайт) Тбайт = 1024 Гбайта = 240 байт;

1(Петабайт) Пбайт = 1024 Тбайта = 250 байт.

При вводе информации в компьютер каждый символ (буквы, символы, цифры, знаки пунктуации и т.д.) кодируются определенной последовательностью двоичных цифр в соответствии с таблицами кодирования символов ASCII (таблица 2.2.1). В этой таблице в виде кодов представлены все используемые символы компьютера. Таблица ASCII разделена на две равные части с учетом необходимости реализации национальных алфавитов и различных наборов символов, характерных для разных стран. Всего таблица ASCII содержит 256 символов. Первые 128 символов - это постоянная, неизменная часть всех ПК, содержащая латинский алфавит, цифры, знаки пунктуации, знаки арифметических операций и т.п. Вторая часть таблицы ASCII, так называемая кодовая страница, - это 128 символов, которые предназначены для замены на национальный набор символов (русский, венгерский, греческий, португальский и т.п.). С помощью несложных программных и технических решений обеспечивается возможность работы таких частей компьютера, как клавиатура, принтер, дисплей, с символами национальных алфавитов. В таблице 2.2.1 представлены ASCII-коды латинского алфавита. Затемненные ячейки таблицы - подлежащая замене на символы национального алфавита часть таблицы.

Таблица 2.2.1

Код A B C D E F
        P   p                
 
    ! A Q a q                
 
      B R b r                
 
      C S c s                
 
    $ D T d t                
 
    % E U e u                
 
      F V f v                
 
      G W g w                
 
    ( H X h x                
  72I
    ) I Y i y                
  73J
A     * : J Z j z                
 
B     +   K   k                  
 
C     , < L   l                  
 
D     - = M   m                  
 
E     . > N   n                  
 
F     / ? O   o                  
 

 

Таблица 2.2.1 разбита на 16 строк и 16 столбцов, имеющих двоичные номера от 0000 до 1111 или шестнадцатеричные от 0 до F. На пересечении столбцов и строк записаны символы. Код символа составляется из номера столбца, к которому приписывается номер строки.

Например, буква F, находящаяся в таблице 2.2.1 в столбце 01002(416) на строке 01102(616), в компьютере представляется кодом 0100 01102, включающим восемь двоичных разрядов или бит.

Формы и форматы представления числовой информации в компьютере.Каждый разряд двоичного числа представляется в компьютере физическим элементом, обладающим двумя устойчивыми состояниями, одному из которых присваивают значение 0, а другому 1.

Упорядоченную по значению весов конечную последовательность разрядов позиционного числа назовем разрядной сеткой. Разрядную сетку числа принято изображать следующим образом

 

  qn qn-1   q1 q0
  . . . n-1 n

 

Различают две основные формы представления позиционных чисел: с фиксированной и плавающей точкой. Запись чисел в форме с фиксированной точкой характеризуется тем, что число представляется как упорядоченная последовательность коэффициентов формулы (2.2.1). Каждому коэффициенту ставится в соответствие один разряд, а точка может фиксироваться между какими-то определенными разрядами, причем для точки никакого разряда не требуется.

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

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

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

Наиболее часты случаи такой фиксации точки, когда в разрядной сетке могут быть представлены или целые числа, или правильные дроби.

В памяти компьютера число с фиксированной точкой представляет собой целое число со знаком или без знака, у которого условная точка согласно принятому соглашению находится справа от самой младшей цифры числа. Двоичные числа могут находиться в одном из трех форматов данных: полуслове (2 байта или 16 бит), слове (4 байта или 32 бита) или двойном слове (8 байт или 64 бита).

Во всех форматах данных нулевой разряд (крайний левый) отводится под знак числа, а во всех остальных разрядах находится целая часть числа. Целая часть числа располагается так, что самый младший разряд находится в самом правом разряде формата (15-й разряд - в формате полуслова; 31-й разряд - в формате слова; 63-й разряд - в формате двойного слова).

Положительные числа представлены в прямых кодах. В прямом коде знак “+” кодируется цифрой 0 в нулевом разряде формата. Ниже показано, как число +1110= 10112, располагается во всех трех форматах, причем точка условно показана за пределами форматов.

  Знак Целая часть числа
Полуслово 0000 0000 0000 1011
  1 15

Два последовательно записанных полуслова образуют слово. Слово состоит из 32 двоичных разрядов, которые формально нумеруются слева направо от 0 до 31.

  Знак Целая часть числа
Слово 0000 0000 0000 0000 1011
  1 31

Два последовательно записанных слова образуют двойное слово.

 

  Знак Целая часть числа
Двойное 0000 0000 0000 0000 1011
слово 1 63

 

Таким образом, полуслово состоит из 2 байтов, слово - из 4-х байтов и двойное слово - из 8 байтов или соответственно из 16, 32 и 64 двоичных разрядов.

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

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

 

  Прямой код числа +5
+ Обратный код числа +5 Прибавление +1
  Число -5 в дополнительном коде
     

Число в форме с плавающей точкой имеет вид:

A = ±mq±p

где m - мантисса числа; q - основание системы счисления; р - порядок числа в системе с основанием q. Нетрудно заметить, что запись числа в форме с плавающей точкой неоднозначна. Действительно,

0,13 .102= 1,3 .101= 0,0013 .104= 130 .10-1и т.д.

Для удобства работы над числами с плавающей точкой принята нормальная форма записи этих чисел, в которой мантисса числа должна удовлетворять соотношению

Процесс приведения числа к нормальной форме называется нормализацией.С технической точки зрения более удобно иметь в компьютере не порядок, а характеристику числа Р*, значение которой связано с порядком числа соотношением, Р* = 64 +Р. В результате порядок чисел с плавающей точкой в ЭВМ оказывается представленным с избытком 64.

Запишем десятичное число А = 25 как число с плавающей точкой в 16-й системе счисления: А=1916. Это число можно записать в нормализованном виде: А=0.19.162, где 0.19 - мантисса числа, а порядок Р=2. Нормализованным числом называется число, у которого первая, старшая шестнадцатеричная цифра мантиссы отлична от нуля. Характеристика числа А равна: Р* = 64 + 2 = 66.

Мантисса числа выражается в прямом коде как для положительных, так и для отрицательных чисел. Различие в знаке отражается только на значении знакового разряда. Так, для положительных чисел значение знакового разряда - нуль, а для отрицательных - единица.

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

 

короткий знак характеристика мантисса
формат 1 7 8 31

 

длинный знак характеристика мантисса
формат 1 7 8 63

 

Для получения истинной величины числа с плавающей точкой его мантисса умножается на число 16 в соответствующей степени. Для указания степени используется порядок Р. Знак порядка определяется по первому разряду: если в нем находится 1, то порядок положительный; если в нем находится 0, то порядок отрицательный. Далее показано, как число 0.19 х162располагается в коротком формате, где 0 в нулевом разряде означает, что число положительное.

 

  знак характеристика мантисса 0001 1001 0000 0000
  1 7 8 31
       

Р* = 10000102= 6610= 4216- характеристика числа; m = 0.19 - мантисса.

Пример. Представить в разрядной сетке в формате слова два числа А = 247,510; В = -247,510.

А = 247,510= F7,816; В = -247,510= -F7,816.

Найдем нормализованные мантиссы и характеристики:

mA= 0.F78; P* = 64+2=6610=40+2=4216

mB= -0.F78; P* = 64+4=6610= 40+2=4216

  знак Р* mA
  100 0010 1111 0111 1000 0000 0000 0000
  1 7 8 31
  знак Р* mB
  100 0010 1111 0111 1000 0000 0000 0000
  1 7 8 31

 

Приведем несколько примеров использования знаний о системах счисления и кодирования для расчета объема памяти, необходимого для хранения информации в компьютере.

Пример. Определить число байт, необходимое для записи числа 282.

Для решение задачи необходимо разложить исходное число на байты следующим образом: 280 * 22 = (28)10 * 22 . Отсюда видно, что для записи числа 282 необходимо 10 байтов (где один байт соответствует (28)) и еще один для записи числа 22. Таким образом общее количество байтов будет равно 11.

Пример. Сведения о каждом сотруднике хранятся в виде строки из 2048 символов (один символ соответствует 1 байту). Определить минимальное количество дискет емкостью 1.2 Мбайт для хранения сведений о всех 8192 сотрудниках?

Для решения задачи необходимо определить общий объем информации, которую нужно хранить на дискетах, а далее разделить на объем каждой дискеты (он равен 1.44 Мбайт). Проведем соответствующие расчеты.

Общий объем информации равен 1байт *2048 * 8192 = 16 777 216 байт.

Объем дискеты 1,2 Мбайт = 1,2 *1024 байт = 1474,56 байт.

Количество диске = 16 777 216 байт / 1474,56 байт = 11,37777 (7).

Таким образом для хранения информации о всех сотрудниках необходимо иметь 12 дискет.