Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_Модуль 2.doc
Скачиваний:
40
Добавлен:
01.04.2015
Размер:
287.74 Кб
Скачать

1.2 Теоретические основы информатики Представление информации в компьютере

Для унификации (единообразия) представления в компьютере различной информации (текстовой, аудио-, видео-, и т.д.) используют ее кодирование. Вся информация в компьютере представляется в двоичном коде (в виде последовательности единиц и нулей).

1.2.1.1 Кодирование числовая информации

Для представления числовой информации выбирается система счисления. Различают позиционные системы (значение цифры зависит от ее положения в числе), непозиционные системы счисления.

Позиционная система счисления использует определенный алфавит и основание P (табл. 2).

Таблица 2

Система счисления

Основание (P)

Алфавит цифр

Десятичная

10

0, 1,2,3,4,5,6,7,8,9

Двоичная

2

0, 1

Восьмеричная

8

0, 1, 2, 3, 4, 5, 6, 7

Шестнадцатеричная

16

0, 1,2,3,4,5,6,7,8,9, A, B, C, D, E, F

В позиционной системе счисления любое число записывается в виде:

Возможен перевод чисел из одной системы счисления в другую по следующим правилам.

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

Пример 1

Перевести число 2310 в двоичную счисления счисления. Сведем вычисления в табл. 3.

Таблица 3

Делимое

Делитель

Частное

Остаток

26

2

13

0

13

2

6

1

6

2

3

0

3

2

1

1

Записывая полученные остатки в обратном порядке, начиная с последнего частного, получим двоичную запись числа:

2610 = 110102.

Для проверки используем разложение двоичного числа по степеням с основанием 2:

110102 = 124 + 123 + 022 + 121 + 020 = 16 + 8 + 2 =26

Пример 2

Перевести 104510 в двоичную систему счисления (табл. 4).

Таблица 4

Делимое

Делитель

Частное

Остаток

1045

2

522

1

522

2

261

0

260

2

130

1

150

2

65

0

65

2

32

1

32

2

16

0

16

2

8

0

8

2

4

0

4

2

2

0

2

2

1

0

1

2

0

1

104510 = 100000101012

Проверка:

100000101012 = 210 + 24 + 22 + 20 = 1024 + 16 + 4 + 1 = 104510

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

Пример 3

Перевести 0,3810 в двоичное представление. В разрядной сетке данного числа для разряда (по числу значащих цифр) сведем вычисления в табл.5

Таблица 5

Переполнение

Множимое

Множитель

Результат

38

2

76

0

76

2

152

1

52

2

104

1

04

2

8

0

8

2

16

0

16

2

32

0

32

2

64

0

64

2

128

1

26

2

56 и т.д.

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

Получаем: 0,3810 = 0,011000012

Проверка:

0,011000012 = 2-2 + 2-3 + 2-8 = 0,25 +0, 125 + 0,00390625 ≈ 0,38

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

Таблица 6

Десятичная система счисления

Восьмеричная система счисления

Шестнадцатиричная система счисления

Двоичный код

0

0

0

0

1

1

1

1

2

2

2

10

3

3

3

11

4

4

4

100

5

5

5

101

6

6

6

110

7

7

7

111

8

10

8

1000

9

11

9

1001

10

12

A

1010

11

13

B

1011

12

14

C

1100

13

15

D

1101

14

16

E

1110

15

17

F

1111

Пример 4

Перевести число 10000010101,011000012 в восьмеричную и шестнадцатиричную системы счисления.

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

Обратите внимание! Разбиение на триады как в целой, так и в дробной части числа начинается от запятой.

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

Триаде 0112 соответствует 58 и т.д. Получаем

10|000|010|101,011|000|012 =2025,3028.

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

100|0001|0101,0110|00012 =415,6116

Проверка:

2025,3028 = 283 + 082 + 281 +580 + 38-1 + 08-2+28-3 =

= 1024 + 16 + 5 + 0,375 + 0,0039 ≈ 1045,3810

415,6116 = 4162 + 1161 + 5160 + 616-1 + 116-2 = 1024 + 16 + 5 + 0,375 + 0,0039 ≈

≈ 1045,3810

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

Целые числа без знака занимают 1 или 2 байта, диапазон значений 0 ÷ 255 и 0 ÷ 65 535 соответственно.

Целые числа со знаком занимают 1, 2 или 4 байта и представляют диапазоны значений: -128 ÷ +127; -32768 ÷ +32768 и т.д.

-128, +127; -32768, +32767; - 2147483648 ... 2147483647, соответственно.

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

Пример 5

Найти прямой, обратный и дополнительный код для числа 14. Переведем это число в двоичный код (табл. 7).

Таблица 7

Делимой

Делитель

Частное

Остаток

14

2

7

0

7

2

3

1

3

2

1

1

Получим 1410 = 11102. Так это число положительное, в знаковом разряде будет 0. Итак, число 14 со знаком плюс в прямом, обратном и дополнительном коде имеет вид 0.1110.

Пример 6

Найти прямой, обратный и дополнительный код числа -127.

Переведем в двоичный код число 127 (табл. 8).

Таблица 8

Делимой

Делитель

Частное

Остаток

127

2

63

1

63

2

31

1

31

2

15

1

15

2

7

1

7

2

3

1

3

2

1

1

Итак, 12710 = 111 11112.

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

Прямой код числа -127: 1.111 1111.

Для получения обратного кода все разряды, кроме знакового, инвертируются (единицы заменяются нулями, а нули – единицами).

Обратный код числа -127: 1.000 0000.

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

Дополнительный код числа -127: 1.000 0001.