Система счисления - это способ записи чисел с помощью заданного набора специальных знаков и соответствующие ему правила выполнения действий над числами.
Все системы счисления делятся на две большие группы: позиционные и непозиционные.
Позиционные | Непозиционные |
Это такие системы счисления, в которых величина, которую обозначает цифра в записи числа, зависит от положения цифры в этом числе. | Это такие системы счисления, в которых величина, которую обозначает цифра в записи числа, не зависит от положения цифры в этом числе. |
Например: 10-, 2-, 3-, 8-, 16-чная и т.д. | Например: римская система счисления. |
Алфавит системы счисления - это совокупность цифр и букв, с помощью которых записываются числа.
Основание системы счисления - это количество цифр в алфавите.
Наименьшее возможное основание позиционной системы счисления равно 2. Такая система называется двоичной.
Система счисления | Основание | Алфавит цифр |
Десятичная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 | |
Двоичная | 0, 1 | |
Восьмеричная | 0, 1, 2, 3, 4, 5, 6, 7 | |
Шестнадцатеричная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А(10), В(11), С(12), D(13), E(14), F(15) |
В современной информатике используются в основном три системы счисления (все – позиционные): двоичная, шестнадцатеричная и десятичная.
Двоичная система счисления используется для кодирования дискретного сигнала, потребителем которого является вычислительная техника. Такое положение дел сложилось исторически, поскольку двоичный сигнал проще представлять на аппаратном уровне. В этой системе счисления для представления числа применяются два знака – 0 и 1.
Шестнадцатеричная система счисления используется для кодирования дискретного сигнала, потребителем которого является хорошо подготовленный пользователь – специалист в области информатики. В такой форме представляется содержимое любого файла, затребованное через интегрированные оболочки операционной системы, например, средствами Norton Commander в случае MS DOS. Используемые знаки для представления числа – десятичные цифры от 0 до 9 и буквы латинского алфавита – A, B, C, D, E, F.
Десятичная система счисления используется для кодирования дискретного сигнала, потребителем которого является так называемый конечный пользователь – неспециалист в области информатики (очевидно, что и любой человек может выступать в роли такого потребителя). Используемые знаки для представления числа – цифры от 0 до 9.
Соответствие между первыми несколькими натуральными числами всех трех систем счисления представлено в таблице перевода:
Десятичная система | Двоичная система | Шестнадцатеричная система |
A | ||
B | ||
C | ||
D | ||
E | ||
F |
Для различения систем счисления, в которых представлены числа, в обозначение двоичных и шестнадцатеричных чисел вводят дополнительные реквизиты:
· для двоичных чисел – нижний индекс справа от числа в виде цифры 2 или букв В либо b (binary – двоичный), либо знак B или b справа от числа. Например, 1010002 = 101000b = 101000B = 101000B = 101000b;
· для шестнадцатеричных чисел - нижний индекс справа от числа в виде числа 16 или букв H либо h (hexadecimal – шестнадцатеричный), либо знак H или h справа от числа. Например, 3AB16 = 3ABH = 3ABh = 3ABH = 3ABh.
Для перевода чисел из одной системы счисления в другую существуют определенные правила. Они различаются в зависимости от формата числа – целое или правильная дробь. Для вещественных чисел используется комбинация правил перевода для целого числа и правильной дроби.
Правила перевода целых чисел
Результатом перевода целого числа всегда является целое число.
Перевод из десятичной системы счисления в двоичную и шестнадцатеричную:
а) исходное целое число делится на основание системы счисления, в которую переводится (на 2 - при переводе в двоичную систему счисления или на 16 - при переводе в шестнадцатеричную); получается частное и остаток;
б) если полученное частное меньше основания системы счисления, в которую выполняется перевод, процесс деления прекращается, переходят к шагу в). Иначе над частным выполняют действия, описанные в шаге а);
в) все полученные остатки и последнее частное преобразуются в соответствии с таблицей перевода в цифры той системы счисления, в которую выполняется перевод;
г) формируется результирующее число: его старший разряд – полученное последнее частное, каждый последующий младший разряд образуется из полученных остатков от деления, начиная с последнего и кончая первым. Таким образом, младший разряд полученного числа – первый остаток от деления, а старший – последнее частное.
Пример 1. Выполнить перевод числа 19 в двоичную систему счисления:
Таким образом, 19 = 100112.
Пример 2. Выполнить перевод числа 19 в шестнадцатеричную систему счисления:
Таким образом, 19 = 1316.
Пример 3. Выполнить перевод числа 123 в шестнадцатеричную систему счисления:
Здесь остаток 11 преобразован в шестнадцатеричную цифру В и после этого данная цифра вошла в число. Таким образом, 123 = 7В16.
Перевод из двоичной и шестнадцатеричной систем счисления в десятичную.
Пример 4. Выполнить перевод числа 1316 в десятичную систему счисления. Имеем:
1316 = 1*16*1 + 3*16*0 = 16 + 3 = 19.
Таким образом, 1316 = 19.
Пример 5. Выполнить перевод числа 100112 в десятичную систему счисления. Имеем:
100112 = 1*2*4 + 0*2*3 + 0*2*2 + 1*2*1 + 1*2*0 = 16+0+0+2+1 = 19.
Таким образом, 100112 = 19.
Перевод из двоичной системы счисления в шестнадцатеричную
а) исходное число разбивается на тетрады (т.е. 4 цифры), начиная с младших разрядов. Если количество цифр исходного дъвоичного числа не кратно 4, оно дополняется слева незначащими нулями до достижения кратности 4;
б) каждая тетрада заменятся соответствующей шестнадцатеричной цифрой в соответствии с таблицей.
Пример 6. Выполнить перевод числа 100112 в шестнадцатеричную систему счисления.
Поскольку в исходном двоичном числе количество цифр не кратно 4, дополняем его слева незначащими нулями до достижения кратности 4 числа цифр. Имеем:
В соответствии с таблицей 00112 = 316 и 00012 = 116.
Тогда 100112 = 1316.
Правила перевода правильных дробей
Напомним, что правильная дробь имеет нулевую целую часть, т.е. у нее числитель меньше знаменателя.
Результат перевода правильной дроби всегда правильная дробь.
Перевод из десятичной системы счисления в двоичную и шестнадцатеричную:
а) исходная дробь умножается на основание системы счисления, в которую переводится (2 или 16);
б) в полученном произведении целая часть преобразуется в соответствии с таблицей в цифру нужной системы счисления и отбрасывается – она является старшей цифрой получаемой дроби;
в) оставшаяся дробная часть (это правильная дробь) вновь умножается на нужное основание системы счисления с последующей обработкой полученного произведения в соответствии с шагами а) и б);
г) процедура умножения продолжается до тех пор, пока ни будет получен нулевой результат в дробной части произведения или ни будет достигнуто требуемое количество цифр в результате;
д) формируется искомое число: последовательно отброшенные в шаге б) цифр ы составляют дробную часть результата, причем в порядке уменьшения старшинства.
Пример 7. Выполнить перевод числа 0,847 в двоичную систему счисления. Перевод выполнить до четырех значащих цифр после запятой.
Имеем:
Таким образом, 0,847 = 0,11012.
В данном примере процедура перевода прервана на четвертом шаге, поскольку получено требуемое число разрядов результата. Очевидно, это привело к потере ряда цифр.
Пример 8. Выполнить перевод числа 0,847 в шестнадцатеричную систему счисления. Перевод выполнить до трех значащих цифр.
Имеем:
В данном примере также процедура перевода прервана.
Таким образом, 0,847 = 0,D8D16.
Перевод из двоичной и шестнадцатеричной систем счисления в десятичную.
Пример 9. Выполнить перевод из двоичной системы счисления в десятичную числа 0,11012.
Имеем:
0,1101 = 1*2-1 + 1*2-2 + 0*2-3 +1*2 = 0,5 + 0,25 + 0 + 0,0625 = 0,8125.
Таким образом, 0,11012 = 0,8125.
Пример 10. Выполнить перевод из шестнадцатеричной системы счисления в десятичную числа 0,D8D16.
Имеем:
0,D8D16 = 13*16-1 + 8*16-2 + 13*16-3 = 13*0,0625 + 8*0,003906 + 13* 0,000244 = 0,84692.
Таким образом, 0,D8D16 = 0,84692.
Перевод из двоичной системы счисления в шестнадцатеричную
а) исходная дробь делится на тетрады, начиная с позиции десятичной точки вправо. Если количество цифр дробной части исходного двоичного числа не кратно 4, оно дополняется справа незначащими нулями до достижения кратности 4;
б) каждая тетрада заменяется шестнадцатеричной цифрой в соответствии с таблицей.
Пример 11. Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,11012.
Имеем:
В соответствии с таблицей 11012 = D16. Тогда 0,11012 = 0,D16.
Пример 12. Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,00101012.
Поскольку количество цифр дробной части не кратно 4, добавим справа незначащий ноль:
В соответствии с таблицей 00102 = 216 и 10102 = A16.
Тогда 0,00101012 = 0,2A16.
Перевод из шестнадцатеричной системы счисления в двоичную:
а) каждая цифра исходной дроби заменяется тетрадой двоичных цифр в соответствии с таблицей;
б) незначащие нули отбрасываются.
Пример 13. Выполнить перевод из шестнадцатеричной системы счисления в двоичную числа 0,2А16.
По таблице имеем 216 = 00102 и А16 = 10102.
Тогда 0,2А16 = 0,001010102.
Отбросим в результате незначащий ноль и получим окончательный ответ: 0,2А16 = 0,00101012
Перевод из шестнадцатеричной системы счисления в двоичную:
а) каждая цифра исходного числа заменяется тетрадой двоичных цифр в соответствии с таблицей. Если в таблице двоичное число имеет менее 4 цифр, оно дополняется слева незначащими нулями до тетрады;
б) незначащие нули в результирующем числе отбрасываются.
Пример 14. Выполнить перевод числа 1316 в двоичную систему счисления.
По таблице имеем:
· 116= 00012;
· 316 = 00112.
Тогда 1316 = 000100112. После удаления незначащих нулей имеем 1316 = 100112
Правило перевода дробных чисел (неправильных дробей)
Напомним, что неправильная дробь имеет ненулевую дробную часть, т.е. у нее числитель больше знаменателя.
Результат перевода неправильной дроби всегда неправильная дробь.
При переводе отдельно переводится целая часть числа, отдельно – дробная. Результаты складываются.
Пример 1. Выполнить перевод из десятичной системы счисления в шестнадцатеричную числа 19,847. Перевод выполнять до трех значащих цифр после запятой.
Представим исходное число как сумму целого числа и правильной дроби:
19,847 = 19 + 0,847.
Как следует из примера 2 раздела Перевод целых чисел 19 = 1316, а в соответствии с примером 8 раздела Перевод правильных дробей 0,847 = 0,D8D16.
Тогда имеем:
19 + 0,847 = 1316 + 0,D8D16 = 13,D8D16.
Таким образом, 19,847 = 13,D8D16.
Самостоятельная работа
Вариант I
1.Переведите числа из двоичной системы в шестнадцатеричную, а затем проверьте результаты, выполнив обратные переводы:
а) 1001111110111,01112; б) 1110101011,10111012; в) 10111001,1011001112.
2.Переведите в двоичную систему шестнадцатеричные числа:
а) 2СE16; б) 9F4016; в) ABCDE16; г) 1010,10116; д) 1ABC,9D16.
3.Переведите числа из десятичной системы в двоичную и шестнадцатеричную, а затем проверьте результаты, выполнив обратные переводы:
а) 12510; б) 22910; в) 37,2510.
4. Постройте в координатной плоскости рисунок по точкам. Координаты точек представлены в таблице:
точка | координаты | |
X | Y | |
-102 | -102 | |
-1002 | 12 | |
12 | 12 | |
12 | 1102 | |
1002 | 112 | |
12 | 12 | |
1102 | 12 | |
1002 | -102 | |
-102 | -102 |
Вариант II
1.Переведите числа из двоичной системы в шестнадцатеричную, а затем проверьте результаты, выполнив обратные переводы:
а) 1011110011100,112; б) 10111,11111011112; в) 1100010101,110012.
2.Переведите в двоичную систему шестнадцатеричные числа:
а) 2СE16; б) 9F4016; в) ABCDE16; г) 1010,10116; д) 1ABC,9D16.
Переведите числа из десятичной системы в двоичную и шестнадцатеричную, а затем проверьте результаты, выполнив обратные переводы:
а) 8810; б) 206,12510; в) 3310.
4. Постройте в координатной плоскости рисунок по точкам. Координаты точек представлены в таблице:
точка | координаты | |
X | Y | |
-112 | -1002 | |
-112 | -12 | |
-102 | 12 | |
-102 | 1012 | |
-12 | 1112 | |
12 | 112 | |
112 | 1112 | |
1002 | 1012 | |
1002 | 12 | |
1012 | -12 | |
1012 | -1002 | |
-112 | -1002 |