
Представление информации в компьютере.ppt
- Количество слайдов: 28
Кодирование текстовой информации Множество символов, используемых при записи текста, называется алфавитом. Количество символов в алфавите называется его мощностью. Для кодирования одного символа в компьютере используется 1 байт (8 бит). Используя 8 бит можно закодировать 256 различных символов (28= 256). Эти коды хранятся в специальной (кодовой) таблице, разработанной Американским институтом стандартизации таблица кодов ASCII (American Standard Code for Information Interchange - стандартный код информационного обмена США).
Таблица кодов ASCII Эта таблица разделена на две части. Первая - стандартная - содержит коды от 0 до 127. Вторая расширенная - содержит символы с кодами от 128 до 255. Первые 32 кода (управляющие) - управляют выводом данных. Коды с 32 по 127 — это заглавные и строчные буквы английского алфавита, знаки препинания, цифры, знаки арифметических операций и операций сравнения, специальные символы (#? $, @ и др. ). Вторая часть таблицы ASCII - символы национальных алфавитов, а также символы псевдографики. Существуют и другие системы кодирования: Windows 1251, КОИ-8 и др. . . В 1991 году была предложена 16 -битная система Unicode. Для представления 1 символа в этой системе используются 2 байта (16 бит).
Первая половина таблицы кодов ASCII
Вторая половина таблицы кодов ASCII
Правила кодировки текста Как мы видим из таблицы, каждый символ имеет свой код. Чтобы представить текстовую информацию в двоичном виде, необходимо десятичный код каждого символа перевести в двоичную систему счисления и записать в виде 8 -значного двоичного числа. Например: символ D имеет код 70, переведем 70 в двоичную систему счисления: 1000110, слева допишем 0, т. к. каждый символ занимает 1 байт или 8 бит памяти. Итак D имеет двоичный код: 01000110
Решение задач 1. Записать слово «stop» в двоичном коде. 2. Сколько бит памяти компьютера займет слово «Микропроцессор» ? 3. Текст занимает 0, 25 Кбайт памяти компьютера, Сколько символов содержит этот текст? 4. Оценить информационный объем фразы, закодированной с помощью Юникода: Без труда не вытащишь и рыбку из пруда 5. Закодировать в двоичной форме свою фамилию, используя таблицу ASCII.
7 Представление информации в компьютере Кодирование целых чисел
8 Целые беззнаковые числа Беззнаковые данные – не могут быть отрицательными. Байт (символ) память: 1 байт = 8 бит диапазон значений 0… 255, 0…FF 16 = 28 - 1 Си: unsigned char Паскаль: byte младший старший 7 6 5 4 3 2 1 0 0 1 1 1 0 старший полубайт старшая цифра 416 младший полубайт младшая цифра E 16 10011102 = 4 E 16 = ‘N’ биты
Пример 1. Для хранения целого числа без знака используется один байт. Записать представление числа 19. 1 шаг: Переведем число 19 из десятичной системы счисления в двоичную. 19 2 19 = 100112 18 9 2 1 8 4 2 1 4 2 2 0 2 1 2 0 0 0 1 2 шаг: Так как для представления числа в компьютере выделен 1 байт, то код числа должен содержать 8 знаков (8 бит). Поэтому впереди числа дописываем 3 незначащих нуля. 19 = 0 0 0 1 1 9
Задание. Записать представление чисел 78 и 115 в однобайтовом формате для компьютера 78 = 115 = 10
11 Целые беззнаковые числа Целое без знака память: 2 байта = 16 бит диапазон значений 0… 65535, 0…FFFF 16 = 216 -1 Си: unsigned int 15 14 13 12 11 10 Паскаль: word 9 8 7 6 5 4 3 2 1 0 0 1 1 0 1 0 старший байт 4 D 16 младший байт 7 A 16 1001101011110102 = 4 D 7 A 16 Длинное целое без знака память: 4 байта = 32 бита диапазон значений 0…FFFF 16 = 232 -1 Си: unsigned long int Паскаль: dword биты
Пример 2. Для хранения целого числа без знака используется два байт. Записать представление числа 19. 1 шаг: Переведем число 19 из десятичной системы счисления в двоичную. 19 2 19 = 100112 18 9 2 1 8 4 2 1 4 2 2 0 2 1 2 0 0 0 1 2 шаг: Так как для представления числа в компьютере выделен 1 байт, то код числа должен содержать 16 знаков (16 бит). Поэтому впереди числа дописываем 11 незначащих нулей. 19 = 0 0 0 1 0 0 1 1 12
Задание. 13 Записать представление чисел 234 и 400 в двухбайтовом формате для компьютера 234 = 400 =
14 Целые числа со знаком ? Сколько места требуется для хранения знака? Старший (знаковый) бит числа определяет его знак. Если он равен 0, число положительное, если 1, то отрицательное. Формат числа в байтах Диапазон Запись с порядком Обычная запись 1 – 27. . . 27– 1 – 128. . . 127 2 – 215. . . 215– 1 – 32768. . . 32767 4 – 231. . . 231– 1 – 2147483648. . . 2147483647
15 Целые числа со знаком Байт (символ) со знаком память: 1 байт = 8 бит диапазон значений: max 0 1 1 1 127 min 1 0 0 0 0 – 128 – 128 = – 27 … 127 = 28 – 1 Си: char Паскаль: byte можно работать с отрицательными числами уменьшился диапазон положительных чисел
16 Целые числа со знаком Слово со знаком память: 2 байта = 16 бит диапазон значений – 32768 … 32767 15 14 13 12 11 10 9 8 7 6 5 4 Си: int Паскаль: integer Двойное слово со знаком память – 4 байта диапазон значений – 231 … 231 -1 Си: long int Паскаль: longint 3 2 1 0
! В компьютере применяются три формы записи (кодирования) целых чисел со знаком: 17 прямой код, обратный код, дополнительный код. Прямой код двоичного числа совпадает по изображению с записью самого числа. Значение знакового разряда для положительных чисел равно 0, а для отрицательных чисел 1. Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица. Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы. Например, в однобайтовом формате числа 27 и -27 имеют вид: Число Прямой код Обратный код Дополнительный код 27 00011011 -27 10011011 11100100 11100101
18 Целые числа со знаком ! «-1» – это такое число, которое при сложении с 1 даст 0. -1 не помещается в 1 байт! 1 байт: 11112 + 1 = 1 0000 2 2 байта: 111111112 + 1 = 1 00000000 2 -1
Нахождение двоичного дополнительного кода Задача: представить отрицательное число (–a) в двоичном дополнительном коде. Решение: 1 способ: 1. Перевести число a в двоичную систему. 2. Записать результат в разрядную сетку с нужным числом разрядов (старший «знаковый» бит заполняется 1). 3. Заменить все « 0» на « 1» (кроме старшего «знакового» бита). 4. Прибавить к полученному двоичному коду 1. Пример: (– a) = – 78, сетка 8 бит 1. 2. 3. 4. 78 = 10011102 1 0 1 1 0 0 0 1 0 = – 78 знаковый бит 19
Нахождение двоичного дополнительного кода 2 способ: 1. Перевести число a– 1 в двоичную систему. 2. Записать результат в разрядную сетку с нужным числом разрядов. 3. Заменить все « 0» на « 1» и наоборот (инверсия). Пример: (– a) = – 78, сетка 8 бит 1. a – 1 = 77 = 10011012 2. 3. 0 1 0 0 1 1 0 0 1 0 знаковый бит 20
21 Двоичный дополнительный код Проверка: 78 + (– 78) = ? 78 = 0 1 0 0 1 1 1 0 – 78 = 1 0 1 1 0 0 1 0 +
Задание 22 1. Запишите числа в обратном и дополнительном кодах (формат 1 байт) -9. 2. Найдите десятичные представления чисел, записанных в дополнительном коде 1 1111000. 3. Найдите десятичные представления чисел, записанных в обратном коде 1 1101000.
23 Ошибки Переполнение разрядной сетки: в результате сложения больших положительных чисел получается отрицательное (перенос в знаковый бит). 7 + 6 5 4 3 2 1 0 0 0 0 64 0 1 0 0 0 64 1 0 0 0 0 – 128
24 Ошибки Перенос: при сложении больших (по модулю) отрицательных чисел получается положительное (перенос за границы разрядной сетки). 7 + 1 6 5 4 3 2 1 0 0 0 0 – 128 0 0 0 0 в специальный бит переноса 0
25 Представление информации в компьютере Тема 3. Кодирование вещественных (дробных) чисел
26 Числа с плавающей точкой Число с плавающей точкой N = M Qp M — множитель, содержащий все цифры числа (мантисса), p — целое число, называемое порядком. Число называется нормализованным, если 1/Q |M| < 1 Десятичная система Двоичная система 753, 15 = 0, 75315 103; -101, 01 = -0, 10101 211 (порядок 112 = 310) - 0, 000034 = - 0, 34 10 -4; 0, 000011 = 0, 11. 2 -100 (порядок - 1002 = - 410). p -1 p -2 1 … знак числа порядок … мантисса 0
27 Числа с плавающей точкой Форматы Размер, Мантисса, Порядок, байт бит Диапазон модулей Точность, десятичн. Тип данных цифр 3, 4·10 -38 одинарный 4 23 8 … 3, 4·1038 7 single 15 double 19 extended 1, 7·10 -308 двойной расниренный 8 10 52 64 11 15 … 1, 7·10308 3, 4·10 -4932 … 3, 4·104932
Пример. Записать число -3, 5 для компьютера в формате одинарной точности. 31 30 23 22 28 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 p = 102 M = 0, 1112 Задание. Записать число 3, 375 для компьютера в формате одинарной точности.