- •Системы счисления. Формы представления информации на эвм.
- •Методические указания системы счисления
- •Перевод чисел из одной системы счисления в другую
- •Единицы измерения информации
- •Формы представления информации на эвм
- •Задание № 1.
- •Задание № 2.
- •Задание № 3.
- •Задание № 4.
- •Задание № 5.
- •Задание № 6.
Перевод чисел из одной системы счисления в другую
При решении задач с помощью ЭВМ исходные данные обычно задаются в десятичной системе счисления; в этой же системе, как правило, нужно получить и окончательные результаты. Так как в современных ЭВМ данные кодируются в основном в двоичных кодах, то, в частности, возникает необходимость перевода чисел из десятичной в двоичную систему счисления и наоборот. Рассмотрим перевод чисел из одной системы счисления в другую на примерах.
Пример 3.
3.1. Преобразуйте число 56710 из десятичной в двоичную систему.
Решение.
Имеется два способа преобразования десятичных чисел в двоичную систему счисления.
1-й способ. Определяется максимальная степень двойки, такая, чтобы 2 в этой степени было меньше или равно исходному числу. В нашем случае это 9, т.к. 29=512, а 210=1024, что больше начального числа (1024>567). Таким образом, получают число разрядов результата. Оно равно 9+1=10. Поэтому результат будет иметь вид 1ххххххххх, где вместо х могут стоять любые двоичные цифры (0 или 1). Найдем вторую цифру результата. Возведем 2 в степень 9 и вычтем из исходного числа: 567-29=55. Остаток сравним с числом 28=256. Так как 256 > 55, то девятый разряд будет нулем, т.е. результат примет вид 10хххххххх. Рассмотрим восьмой разряд. Так как 27=128 > 55, то и он будет нулевым. Седьмой разряд также оказывается нулевым. Искомая двоичная запись числа принимает вид 1000хххххх. 25=32 < 55, поэтому шестой разряд равен 1 (результат 10001ххххх). Для остатка 55 - 32=23 справедливо неравенство 24=16<23, что означает равенство единице пятого разряда. Действуя аналогично, в результате получается число 1000110111. Число 56710 было разложено по степеням двойки:
567=1*29+0*28+0*27+0*26+1*25+1*24+0*23+1*22 +1*21+1*20
2-й способ. При этом способе перевода чисел используется операция деления в столбик. Разделив число 567 на 2, получим частное 283 и остаток 1. Проведем ту же самую операцию с числом 283. Получим частное 141, остаток 1. Опять делим полученное частное на 2, и так до тех пор, пока частное не станет меньше делителя. Теперь для того, чтобы получить число в двоичной системе счисления, достаточно записать последнее частное, то есть 1, и приписать к нему в обратном порядке все полученные в процессе деления остатки.
Р езультатом является число 1000110111, что соответствует полученному 1-м способом числу.
Приведенные два способа равнозначны и применимы при переводе числа из десятичной системы в систему с любым основанием.
3.2. Преобразуйте число 68204310 в систему счисления с основанием 16.
Решение.
По 2-му способу.
Будем последовательно делить число 68204310 в столбик на 16. Процесс деления заканчивается, когда частное становится строго меньше 16.
С учетом замены числа 10 на A, числа 11 на B получим результат в виде А683В.
3.3. Преобразуйте число 4A3F в систему счисления с основанием 10.
Решение.
Для записи числа 4A3F в десятичной системе счисления воспользуемся полиномом (1).
.
Заменив A на 10, а F на 15, получим .
Для перевода целых чисел из двоичной системы в системы с основанием, равным степеням двойки (8=23 и 16=24), нужно:
данное двоичное число разбить справа налево на группы по n-цифр в каждой (для восьмеричной системы n=3, для шестнадцатеричной n=4);
если в последней левой группе окажется меньше n разрядов, то дополнить ее нулями до нужного числа разрядов;
рассмотреть каждую группу, как n-разрядное двоичное число, и заменить ее соответствующей цифрой в системе счисления с основанием 2n.
Двоично-шестнадцатеричная таблица
2-ная |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
16-ная |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
2-ная |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
16-ная |
8 |
9 |
A |
B |
C |
D |
E |
F |
Двоично-восьмеричная таблица
2-ная |
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
8-ная |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Пример 4.
4.1. Преобразуйте число 10010101 в число восьмеричной системы счисления.
Решение.
1. Разобьем число 10010101 справа налево на группы по 3-цифры в каждой (так как 8=23)
10 010 101.
2. Так как в последней левой группе оказалось меньше 3 разрядов, то дополним ее нулями до нужного числа разрядов
010 010 101.
3. Воспользуемся двоично-восьмеричной таблицей и заменим каждую группу двоичных чисел на соответствующие восьмеричные
225.
Двоичное число 10010101 в восьмеричной системе счисления имеет вид 225.
4.2. Преобразуйте число 1101010101 в число шестнадцатеричной системы счисления.
Решение.
1. Разобьем число 1101010101 справа налево на группы по 4-цифры в каждой (так как 16=24)
11 0101 0101.
2. Так как в последней левой группе оказалось меньше 4 разрядов, то дополним ее нулями до нужного числа разрядов
0011 0101 0101.
3. Воспользуемся двоично-шестнадцатеричной таблицей и заменим каждую группу двоичных чисел на соответствующие шестнадцатеричные
355.
Двоичное число 1101010101 в шестнадцатеричной системе счисления имеет вид 355.