Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гл_1_Понятие информации.doc
Скачиваний:
6
Добавлен:
13.08.2019
Размер:
279.04 Кб
Скачать

1.10.4. Перевод чисел одной системы счисления в другую.

Правило перевода из двоичной системы счисления в десятичную

Возьмем двоичное число 110110. Над каждой цифрой запишем соответствующую этой позиции степень основания. Затем разложим это число по степеням основания и посчитаем сумму:

Полученное число 54 является уже десятичным числом. Это и требовалось получить.

Правило перевода из десятичной системы счисления в двоичную

Возьмем десятичное число 563. Так как нам необходимо перевести его в двоичную систему счисления, запишем последовательность, состоящую из степеней двойки (два — основание двоичной системы счисления) и поставим каждому члену этой последовательности его значение в десятичном виде:

210

29

28

27

26

25

24

23

22

21

20

1024

512

256

128

64

32

16

8

4

2

1

0

1

0

0

0

1

1

0

0

1

1

Увеличение значений последовательности справа налево, а не наоборот, обусловлено правилами, пришедшими от арабской письменности.

Теперь следует пояснить, что означает в этой записи последняя строчка. При переводе числа из десятичной системы счисления в двоичную следует из представленной выше последовательности десятичных чисел (1, 2, 4, 8, 16, 32, 64, ...) выбрать максимальное число, которое не больше, в нашем случае, 563. Это 512. Помечаем число 512 единицей и из 563 вычитаем 512:

563 – 512 = 51.

Теперь ищем максимальное число, которое не больше 51 и вычитаем его:

51 – 32 = 19.

Помечаем единицей число 32 и следуем дальше.

19 – 16 = 3,

3 – 2 = 1,

1 – 1 = 0.

Все числа, которые остались непомеченными единицами, помечаем нулями. Таким образом, получили двоичное число 1000110011

Правило перевода из двоичной системы счисления в шестнадцатеричную

Возьмем двоичное число 101111110111001. Мысленно разобьем его на четверки, начиная справа:

0101 1111 1011 1001

Для удобства припишем 0 в самую левую позицию, так как в любой системе счисления нуль в самой левой позиции не имеет значения. Теперь следует перевести каждую из четверок:

3210

0101 = 0×23 +1×22 +0×21 +1×20 = 5 уже в шестнадцатеричной системе счисления.

Аналогично

1111 = F,

1011= В,

1001= 9.

Получается шестнадцатеричное число 5FB9.

Правило перевода из шестнадцатеричной системы счисления в десятичную

Полученное чуть выше шестнадцатеричное число 5FB9 переведем в десятичную систему счисления. Разложим это число по степеням основания, в данном случае, степеням числа шестнадцать:

3210

5FB9 = 5×163 + 15×162 + 11×161 + 9×16° = 24505 в десятичной системе счисления.

1.10.5. Информация в эвм.

Поскольку байт представляет собой совокупность из восьми битов, то для лучшего представления можно сказать что байт — это восьмиразрядное двоичное число, то есть последовательность, состоящая из восьми нулей и единиц. Например: 10011011, 11110000, 11111111.

Память электронно-вычислительной машины схематично можно представить как последовательность байтов. Каждый байт имеет адрес, также имеющий вид двоичного кода.

В любом байте памяти ЭВМ могут храниться: число, код буквы, цифры или символа, логическое значение, а также код команды, управляющей работой машины. Но интерпретирует эти коды машина по-разному. Это зависит от логики программы, которая анализирует содержимое памяти.

Кроме того, во многих случаях байты объединяют в более крупные единицы. Их называют машинными словами или ячейками. Они могут состоять, например, из 2, 4, 8 байтов, то есть содержать соответственно 16, 32 64 бита. В этом случае машина оперирует машинным словом как целым объектом, не разделяя его на байты и биты.

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

Кодирование целых и действительных чисел

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

19:2 = 9+1

9:2 = 4+1

4:2 = 2+0

2:2 = 1

Таким образом, 1910 = 10112

Для кодирования целых чисел от 0 до 255 достаточно иметь 8 разрядов двоичного кода (8 бит). Шестнадцать бит позволяют закодировать целые числа от 0 до 65535, а 24 бита — уже более 16,5 миллионов разных значений.

Для кодирования действительных чисел используют 8-разрядное кодирование. При этом число предварительно преобразуется в нормализованную форму:

3,1415926 = 0,31415926 × 101

300 000 = 0,3 × 106

123 456 789 = 0,123456789 × 1010

Первая часть числа называется мантиссой, а вторая — характеристикой. Большую часть из 8 бит отводят для хранения мантиссы (вместе со знаком) и некоторое фиксированное количество разрядов отводят для хранения характеристики (тоже со знаком).

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

Возьмем действительное число 184,525. В информатике принято отделять целую часть от дробной не десятичной запятой, а точкой. В соответствии с этим правилом, перепишем: 184.525.

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

0.184525Е+3,

где 184525 — мантисса, 3 — порядок, Е заменяет десятичное основание степени.

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

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

± 0.ХХХХХЕ ± XX.

Такая форма записи позволяет увидеть, что мантисса и порядок отделены друг от друга. Поэтому хранить их в памяти ЭВМ можно отдельно друг от друга.

Кодирование буквенно-цифровой и символьной информации

Помимо целых и действительных чисел, в памяти ЭВМ находится буквенно-цифровая и символьная информация, посредством которой формируются тексты различного содержания. Это могут быть буквы латинского, русского или какого-либо другого алфавита, цифры (не путать с числами!), формулы, а также различные другие символы.

Обратимся к тому факту, что один байт состоит из восьми битов. Это означает, что количество возможных комбинаций, состоящих из восьми нулей и единиц составляет 28=256. Это, в свою очередь, обозначает возможность закодировать 256 различных символов.

Такого количества оказывается достаточно, чтобы закодировать буквы латинского алфавита — их всего 52 буквы (26 строчных и 26 заглавных); десятичные цифры 0....9; знаки препинания; арифметические знаки и другие символы.

Информация называется закодированной, если каждая ее элементарная частица представлена в виде двоичного кода.

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

Существует несколько вариантов кодировки. Наиболее распространенным считается ASCII (American national Standard Code for Information Interchange), что переводится на русский как американский стандартный код обмена информацией. В качестве примера приведем коды нескольких букв латинского алфавита:

А 01000001, а 01100001,

В 01000010, b 01100010,

С 01000011, с 01100011;

десятичных цифр:

0 00110000,

1 00110001,

2 00110010,

Существуют и другие, менее распространенные кодировки, такие как, КОИ-7 (код обмена информацией, семизначный), КОИ-8 (код обмена информации, восьмизначный), кодировка символов русского языка — Windows-1251 и UNICODE — универсальная, основанная на 16-разрядном кодировании символов.