Смекни!
smekni.com

Основы информатики 3 2 (стр. 5 из 43)

Например:

0101101000112 = 0101 1010 0011 = 5A316

Таблица перевода чисел

0hex = 0dec = 0oct 0 0 0 0
1hex = 1dec = 1oct 0 0 0 1
2hex = 2dec = 2oct 0 0 1 0
3hex = 3dec = 3oct 0 0 1 1
4hex = 4dec = 4oct 0 1 0 0
5hex = 5dec = 5oct 0 1 0 1
6hex = 6dec = 6oct 0 1 1 0
7hex = 7dec = 7oct 0 1 1 1
8hex = 8dec = 10oct 1 0 0 0
9hex = 9dec = 11oct 1 0 0 1
Ahex = 10dec = 12oct 1 0 1 0
Bhex = 11dec = 13oct 1 0 1 1
Chex = 12dec = 14oct 1 1 0 0
Dhex = 13dec = 15oct 1 1 0 1
Ehex = 14dec = 16oct 1 1 1 0
Fhex = 15dec = 17oct 1 1 1 1

9.Общие принципы представления информации. Числовая система ЭВМ

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

Человеческий язык – система кодирования мыслей человека посредством речи;

Азбуки – системы кодирования компонент человеческого языка с помощью графических символов;

Код Морзе (телеграфная азбука): .--. ---- -- -.-. . - ..- ;

Код Брайля (азбука для слепых):

;

Код морской сигнализации (морская флажковая азбука);

Двоичное кодирование: данные кодируются последовательностью 0 и 1.

История кодирования

Коды появились в глубокой древности в виде криптограмм (по-гречески - тайнописи), когда ими пользовались для засекречивания важного сообщения от тех, кому оно не было предназначено. Уже знаменитый греческий историк Геродот (V век до н. э.) приводил примеры писем, понятных лишь для одного адресата. Спартанцы имели специальный механический прибор, при помощи которого важные сообщения можно было писать особым способом, обеспечивающим сохранение тайны. Собственная секретная азбука была у Юлия Цезаря. В средние века и эпоху Возрождения над изобретением тайных шифров трудились многие выдающиеся люди, в их числе философ Фрэнсис Бэкон, крупные математики Франсуа Виет, Джероламо Кардано.

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

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

Исторически первый код, предназначенный для передачи сообщений, связан с именем изобретателя телеграфного аппарата Сэмюэля Морзе и известен всем как азбука Морзе. В этом коде каждой букве или цифре сопоставляется своя последовательность из кратковременных (называемых точками) и длительных (тире) импульсов тока, разделяем паузами. Другой код, столь же широко распространенный в телеграфии (код Бодо), использует для кодирования два элементарных сигнала — импульс и паузу, при этом сопоставляемые буквам кодовые слова состоят из пяти таких сигналов.

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

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

В ЭВМ используется двоичное кодирование. Одним битом можно закодировать только два понятия 1(да) и 0(нет). Двумя битами можно закодировать четыре понятия 00, 01, 10, 11. Тремя битами можно закодировать уже восемь понятий: 000, 001, 010, 011, 100, 101, 110, 111 и т.д. Т.е. увеличивая каждый раз количество разрядов в двоичном кодировании на единицу, количество возможных кодируемых значений будет удваиваться, в общем виде можно записать:

, где N – количество возможных кодируемых состояний (значений, понятий);

m – разрядность двоичного кодирования.

Для записи, хранения и выдачи по запросу информации в ЭВМ имеется Запоминающее устройство (память), организованная на электронных носителях. Один элемент памяти (бит) никакой смысловой нагрузки не несет (т.к. с помощью одного бита можно закодировать только два понятия). Однако, если соединить несколько таких элементов в ячейку, то тогда в ЗУ можно хранить столько информации, сколько потребуется. Один байт (8 бит) – элементарная ячейка памяти ЭВМ. Каждая ячейка имеет адрес и содержимое. Когда процессор обрабатывает информацию, он находит нужную ячейку памяти по ее адресу. Объем адресуемой памяти зависит от разрядности процессора ( 8-ми разрядный имеет 28 = 256 ячеек памяти, 16-ти разрядный – 216 = 65536 ячеек, 32-х разрядный – 232 = 4294967296 ячеек » 4 Гбайта ).

Последовательность битов, рассматриваемых аппаратной частью ЭВМ как единое целое, называется машинным словом.

Числовая система ЭВМ. Целые числа без знака и со знаком.

Введем основные понятия на примере 4-х битовых машинных слов. Сразу оговоримся, что такой размер слов практического интереса не представляет, однако основные закономерности сохраняют силу для машинных слов любого размера.

Предположим, что процессор ЭВМ способен увеличивать (на 1) и дополнять (т.е. инвертировать) 4-х битовые слова. Например, слово: 0010 + 0001 = 0011 - увеличение на 1

1101 - дополнение (инвертирование)

При последовательном увеличении 4-х битового слова 0000 на 0001 наступает ситуация, когда слово станет равным 1111 (1510). Если теперь к этому слову будет прибавлена 0001, то получим 0000, т.е. неверный результат (15+1=0) и исходное состояние. Это произошло потому, что слово памяти может состоять только из конечного числа битов. Таким образом, числовая система ЭВМ является конечной и цикличной.

0000+0001 = 0001 (+1)

0001+0001 = 0010 (+2)

0010+0001 = 0011 (+3)

0011+0001 = 0100 (+4)

………………………..

1110+0001 = 1111 (+15)

Этого неверного результата можно избежать, если битовое слово 1111 принять за код для «-1», тогда получим другую числовую систему со знаком, содержащую как положительные числа (0¸7), так и отрицательные (-1¸-8). Все слова, которые начинаются с «0» - положительные и нуль, а слова с «1» - отрицательные. При этом старший бит называют знаковым битом. Числовая система со знаком также конечна и циклична.

(0) 0000 (+8) 1000 (-8)

(+1) 0001 (+9) 1001 (-7)

(+2) 0010 (+10) 1010 (-6)

(+3) 0011 (+11) 1011 (-5)

(+4) 0100 (+12) 1100 (-4)

(+5) 0101 (+13) 1101 (-3)

(+6) 0110 (+14) 1110 (-2)

(+7) 0111 (+15) 1111 (-1)

Если знаковый бит = 0, то значение числа легко вычисляется (3 бита младших разрядов интерпретируются как двоичный код десятичного числа). Если знаковый бит = 1, то для оценки отрицательного числа нужно:

выполнить операцию инвертирования;

к полученному результату прибавить единицу.

Эти правила вытекают из следующих соображений. Рассмотрим число (- k) в системе со знаком, представив его как: - k = (-1- k)+1, т.е. для получения числа (- k) надо из - 1 (1111) вычесть число k и прибавить 1. При этом операция вычитания: а) всегда возможна и не требует заема; б) равнозначна операции инвертирования битов вычитаемого числа k.

Примеры. 1. Пусть k = 0011 (3). Тогда: – k = (1111 - 0011) + 0001 = 1100 + 0001 = 1101 (-3), где величина 1100 представляет собой инвертирование числа 0011 (3) или дополнение до единицы, а число 1101 называют дополнением до двух. Таким образом, инвертирование называется дополнением до единицы, а инвертирование с добавлением единицы к младшему биту называется дополнением до двух.

2. Пусть есть слово 1010. Какое отрицательное число в нем закодировано? Согласно вышеприведенным правилам это число надо инвертировать и добавить 0001. Инвертируя, получим 0101. Добавив 0001, получим 0110. А это есть двоичный код числа 6, следовательно, число 1010 есть код числа -6.