достаточно часто требуется уметь переводить число из одной системы счисления в другую. давайте научимся выполнять такое действие. преобразование целых чисел и правильных дробей выполняется по разным правилам. в действительном числе преобразование целой и дробной части производят по отдельности.
преобразование целых чисел
для перевода необходимо исходное число разделить на основание новой системы счисления до получения целого остатка, который является младшим разрядом числа в новой системе счисления (единицы). полученное частное снова делим на основание системы и так до тех пор, пока частное не станет меньше основания новой системы счисления. все операции выполняются в исходной системе счисления.
рассмотрим для примера перевод числа из десятичной системы счисления в двоичную систему счисления.
возьмём десятичное число а10 = 124 и поделим его на основание двоичной системы, то есть число 2. деление будем производить уголком:
в результате первого деления получим разряд единиц (самый младший разряд). в результате второго деления получим разряд двоек. деление продолжаем, пока результат деления больше двух. в конце операции преобразования мы получили двоичное число 002.
теперь то же самое число переведём в восьмеричную систему счисления. для этого число 12410 разделим на число 8:
как мы видим, остаток от первого деления равен 4. то есть младший разряд восьмеричного числа содержит цифру 4. остаток от второго деления равен 7. то есть второй разряд восьмеричного числа – это цифра 7. старший разряд получился равным 1. то есть в результате многократного деления мы получили восьмеричное число 1748.
проверим, не ошиблись ли мы в процессе преобразования? для этого преобразуем получившееся двоичное число в десятичную систему по обычной формуле разложения:
1×82+7×81+4×80=6410+5610+410=124
; а можно ли осуществить перевод из восьмеричной системы счисления в двоичную делением? можно! но деление нужно произвести по правилам восьмеричной арифметики. правила работы в восьмеричной системе счисления мы рассмотрим в следующей главе. тем не менее, для полноты материала, рассмотрим пример перевода в двоичную форму полученного ранее восьмеричного числа 1748. разделим его на основание новой системы счисления 2.
как мы убедились выполнять деление в восьмеричной системе неудобно, ведь подсознательно мы делим в десятичной системе счисления. давайте обратим внимание на то, что число 8 является степенью числа 2. то есть можно считать восьмеричную систему счисления просто более короткой записью двоичного числа. это означает, что для представления восьмеричной цифры можно использовать три двоичных бита (8=23). давайте составим таблицу соответствия. она в таблице 1.
таблица 1. таблица соответствия восьмеричных цифр и двоичного кода
двоичный код
восьмеричная цифра
десятичный эквивалент
000
0
0
001
1
1
010
2
2
011
3
3
100
4
4
101
5
5
110
6
6
111
7
7
используя эту таблицу можно просто заменить каждую восьмеричную цифру тремя двоичными битами. три двоичных бита обычно называют триадой или трибитом. теперь давайте переведём восьмеричное число 1748 в двоичную форму при таблицы 7:
аналогично можно выполнить перевод числа из двоичной системы в восьмеричную. для этого двоичное число разбивают на триады относительно крайнего правого разряда (или двоичной запятой) и, используя таблицу 7, каждой триаде ставят в соответствие восьмеричную цифру.
аналогичным образом можно выполнить перевод числа из шестнадцатеричной формы в двоичную и обратно. в этом случае для представления шестнадцатеричной цифры потребуется четыре двоичных разряда. четыре двоичных разряда обычно называют тетрадой. иногда при переводе иностранных книг используется термин нибл.
давайте составим таблицу соответствия двоичных тетрад и шестнадцатеричных цифр. для этого мы будем просто прибавлять единицу к значению предыдущей строки в каждом столбце таблицы, в соответствии с используемой в этом столбце системой счисления. результат в таблице 2.
в качестве примера использования таблицы 2 переведем шестнадцатеричное число 7с16 в двоичную форму представления:
таблица 2. таблица соответствия шестнадцатеричных цифр и двоичного кода
двоичный код
восьмеричная цифра
десятичный эквивалент
0
0
0001
1
1
0010
2
2
0011
3
3
0100
4
4
0101
5
5
0110
6
6
0111
7
7
1000
8
8
1001
9
9
1010
a
a
1011
b
b
1100
c
c
1101
d
d
1110
e
e
f
f
пример преобразования двоичного числа в восьмеричную и шестнадцатеричную форму на рисунке 1.
рисунок 1. пример преобразования двоичного числа в восьмеричную и шестнадцатеричную форму.
на этом рисунке внизу выделены двоичные тетрады и соответствующие им шестнадцатеричные цифры. их соответствие можно проверить при таблицы 2. сверху выделены триады и соответствующие им восьмеричные цифры. старшая триада получилась неполной. её нужно дополнить старшими незначащими нулями для того, чтобы можно было бы воспользоваться таблицей 1.
объяснение:
функциональное возвращает значение, процедурное – нет.
заголовок функционального обязательно содержит тип результата.
в теле функцианального обязательно наличие оператора, присваивающего значение имени функции.
вызов процедурного требует отдельного оператора, вызов функционального возможен в составе выражений.
имя процедурного необходимо для вызова, имя функционального – для присвоения значения.
на схемах алгоритмов вызов процедурного изображается в отдельном блоке, вызов функционального– в блоке процесса или вывода
ответ:
объяснение:
достаточно часто требуется уметь переводить число из одной системы счисления в другую. давайте научимся выполнять такое действие. преобразование целых чисел и правильных дробей выполняется по разным правилам. в действительном числе преобразование целой и дробной части производят по отдельности.
преобразование целых чисел
для перевода необходимо исходное число разделить на основание новой системы счисления до получения целого остатка, который является младшим разрядом числа в новой системе счисления (единицы). полученное частное снова делим на основание системы и так до тех пор, пока частное не станет меньше основания новой системы счисления. все операции выполняются в исходной системе счисления.
рассмотрим для примера перевод числа из десятичной системы счисления в двоичную систему счисления.
возьмём десятичное число а10 = 124 и поделим его на основание двоичной системы, то есть число 2. деление будем производить уголком:
в результате первого деления получим разряд единиц (самый младший разряд). в результате второго деления получим разряд двоек. деление продолжаем, пока результат деления больше двух. в конце операции преобразования мы получили двоичное число 002.
теперь то же самое число переведём в восьмеричную систему счисления. для этого число 12410 разделим на число 8:
как мы видим, остаток от первого деления равен 4. то есть младший разряд восьмеричного числа содержит цифру 4. остаток от второго деления равен 7. то есть второй разряд восьмеричного числа – это цифра 7. старший разряд получился равным 1. то есть в результате многократного деления мы получили восьмеричное число 1748.
проверим, не ошиблись ли мы в процессе преобразования? для этого преобразуем получившееся двоичное число в десятичную систему по обычной формуле разложения:
1×82+7×81+4×80=6410+5610+410=124
; а можно ли осуществить перевод из восьмеричной системы счисления в двоичную делением? можно! но деление нужно произвести по правилам восьмеричной арифметики. правила работы в восьмеричной системе счисления мы рассмотрим в следующей главе. тем не менее, для полноты материала, рассмотрим пример перевода в двоичную форму полученного ранее восьмеричного числа 1748. разделим его на основание новой системы счисления 2.
как мы убедились выполнять деление в восьмеричной системе неудобно, ведь подсознательно мы делим в десятичной системе счисления. давайте обратим внимание на то, что число 8 является степенью числа 2. то есть можно считать восьмеричную систему счисления просто более короткой записью двоичного числа. это означает, что для представления восьмеричной цифры можно использовать три двоичных бита (8=23). давайте составим таблицу соответствия. она в таблице 1.
таблица 1. таблица соответствия восьмеричных цифр и двоичного кода
двоичный код
восьмеричная цифра
десятичный эквивалент
000
0
0
001
1
1
010
2
2
011
3
3
100
4
4
101
5
5
110
6
6
111
7
7
используя эту таблицу можно просто заменить каждую восьмеричную цифру тремя двоичными битами. три двоичных бита обычно называют триадой или трибитом. теперь давайте переведём восьмеричное число 1748 в двоичную форму при таблицы 7:
аналогично можно выполнить перевод числа из двоичной системы в восьмеричную. для этого двоичное число разбивают на триады относительно крайнего правого разряда (или двоичной запятой) и, используя таблицу 7, каждой триаде ставят в соответствие восьмеричную цифру.
аналогичным образом можно выполнить перевод числа из шестнадцатеричной формы в двоичную и обратно. в этом случае для представления шестнадцатеричной цифры потребуется четыре двоичных разряда. четыре двоичных разряда обычно называют тетрадой. иногда при переводе иностранных книг используется термин нибл.
давайте составим таблицу соответствия двоичных тетрад и шестнадцатеричных цифр. для этого мы будем просто прибавлять единицу к значению предыдущей строки в каждом столбце таблицы, в соответствии с используемой в этом столбце системой счисления. результат в таблице 2.
в качестве примера использования таблицы 2 переведем шестнадцатеричное число 7с16 в двоичную форму представления:
таблица 2. таблица соответствия шестнадцатеричных цифр и двоичного кода
двоичный код
восьмеричная цифра
десятичный эквивалент
0
0
0001
1
1
0010
2
2
0011
3
3
0100
4
4
0101
5
5
0110
6
6
0111
7
7
1000
8
8
1001
9
9
1010
a
a
1011
b
b
1100
c
c
1101
d
d
1110
e
e
f
f
пример преобразования двоичного числа в восьмеричную и шестнадцатеричную форму на рисунке 1.
рисунок 1. пример преобразования двоичного числа в восьмеричную и шестнадцатеричную форму.
на этом рисунке внизу выделены двоичные тетрады и соответствующие им шестнадцатеричные цифры. их соответствие можно проверить при таблицы 2. сверху выделены триады и соответствующие им восьмеричные цифры. старшая триада получилась неполной. её нужно дополнить старшими незначащими нулями для того, чтобы можно было бы воспользоваться таблицей 1.