Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИИ_ПО_ИНФОРМАТИКЕ_ПРЕПОД_3457_220301.doc
Скачиваний:
18
Добавлен:
06.11.2018
Размер:
1.25 Mб
Скачать

14.5. Взаимные преобразования двоичных, восьмеричных и шестнадцатеричных чисел.

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

Для перевода целого двоичного числа в восьмеричное необходимо:

  • разбить его справа налево на группы по 3 цифры (двоичные триады), причем самая левая группа может содержать менее трех двоичных цифр.

  • каждой группе поставить в соответствие ее восьмеричный эквивалент.

110110012 = 11 011 001;

110110012 = 3318

Для перевода целого двоичного числа в шестнадцатеричное необходимо:

  • разбить его справа налево на группы по 4 цифры (двоичные тетрады), причем самая левая группа может содержать менее трех двоичных цифр.

  • каждой группе поставить в соответствие ее шестнадцатеричный эквивалент.

11000110110012 = 1 1000 1101 1001;

110001101100I(2)= 18D9(16).;

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

0,11000111012 =0,110 001 110 100 ;

0,11000111012 = 0,6164(8);

0,1100011101(2) = 0,1100 0111 0100 = 0,С74(16);

0,1100011101(2) = 0,С74(16).

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

Преобразования чисел из двоичной в восьмеричную и шестнадцатеричную системы и наоборот столь просты (по сравнению с операциями между этими тремя системами и привычной нам десятичной) потому, что числа 8 и 16 являются целыми степенями числа 2. Этой простотой и объясняется популярность восьмеричной и шестнадцатеричной систем в вычислительной технике и программировании.

14.6. Двоично-десятичная система.

В двоично-десятичной системе каждая десятичная цифра кодируется комбинацией цифр двоичной системы. Обозначение каждой десятичной цифры называется тетрадой.

0

1

2

3

4

5

6

7

8

9

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

12510=0001 0010 01012-10

15. Языки программирования.

15.1. Языки программирования. Общая характеристика.

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

Языки программирования можно разделить на машинно-ориентированные языки низкого уровня (ассемблеры) и машинно-независимые языки высокого уровня (Фортран, Паскаль, Си и др.).

Ассемблеры представляют собой системы обозначений, предназначенные для точного описания программ или алгоритмов для ЭВМ, написанных в машинном коде (т.е. написанных символами 0, 1). При этом комбинации единиц и нулей, выражающие машинные команды, заменяются обозначениями, представляющими собой аббревиатуры английских слов. Например: ADD – сложить, SUB – вычесть, MUL – умножить, DIV – разделить и т. п. Предположим, что машинная команда, написанная на двоичном машинном коде 1011 1010 1001 , приводит к тому, что содержимое ячейки памяти A складывается с содержимым ячейки памяти B и результат заносится в ячейку памяти A. На языке ассемблера этот машинный код можно заменить строкой обозначений: ADD A D . Такая запись для программиста удобней, чем запись на машинном коде, но ее не поймет центральный процессор, который понимает только двоичный машинный код. Поэтому программы, написанные на ассемблере, надо переводить (транслировать) обратно в двоичный машинный код. Это делает специальная программа, которая также называется ассемблер. Таким образом, термин ассемблер может означать язык программирования и программу транслятор. Ассемблеры позволяют организовать обмен содержимым между ячейками памяти, элементарные арифметические и логические операции.

Языки высокого уровня рассмотрим на примере языка Си, широко применяемому в настоящее время для создания системного и прикладного программного обеспечения, в том числе программного обеспечения робототехнических и мехатронных систем.