СИСТЕМЫ СЧИСЛЕНИЯ УРОК-ЛЕКЦИЯ ПО ИНФОРМАТИКЕ ДЛЯ СТУДЕНТОВ 1 КУРСА. — презентация
1 СИСТЕМЫ СЧИСЛЕНИЯ УРОК-ЛЕКЦИЯ ПО ИНФОРМАТИКЕ ДЛЯ СТУДЕНТОВ 1 КУРСА
2 2 СИСТЕМЫ СЧИСЛЕНИЯ. Определения Система счисления – это способ записи чисел с помощью специальных знаков – цифр. Числа: 123, 45678, , CXL Цифры: 0, 1, 2, … I, V, X, L, … Алфавит – это набор цифр. Типы систем счисления: непозиционные – значение цифры не зависит от ее места (позиции) в записи числа; позиционные – зависит…
3 3 Римская система счисления Правила: (обычно) не ставят больше трех одинаковых цифр подряд если младшая цифра (только одна!) стоит слева от старшей, она вычитается из суммы (частично непозиционная!) Примеры: MDCXLIV = – – = = M M C C C L X X X I X M CCCLXXXIX = 1644
4 4 Римская система счисления Недостатки: для записи больших чисел (>3999) надо вводить новые знаки-цифры (V, X, L, C, D, M) как записать дробные числа? как выполнять арифметические действия: CCCLIX + CLXXIV =? Где используется: номера глав в книгах: обозначение веков: «Пираты XX века» циферблат часов
5 5 Позиционные системы Позиционная система: значение цифры определяется ее позицией в записи числа. Десятичная система: первоначально – счет на пальцах изобретена в Индии, заимствована арабами, завезена в Европу Алфавит: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Основание (количество цифр): разряды сотни десятки единицы = 3· · ·10 0 Другие позиционные системы: двоичная, восьмеричная, шестнадцатеричная (информатика) двенадцатеричная (1 фут = 12 дюймов, 1 шиллинг = 12 пенсов) двадцатеричная (1 франк = 20 су) шестидесятеричная (1 минута = 60 секунд, 1 час = 60 минут)
6 6 Двоичная система счисления. Перевод целых чисел Двоичная система: Алфавит: 0, 1 Основание (количество цифр): = система счисления разряды = 1· · · · ·2 0 = = 19
7 7 Арифметические операции сложение вычитание 0+0=0 0+1=1 1+0=1 1+1= = =0 0+1=1 1+0=1 1+1= = =0 1-1=0 1-0= =1 0-0=0 1-1=0 1-0= =1 перенос заем –
8 8 Арифметические операции умножение деление – –
9 9 Плюсы и минусы двоичной системы нужны технические устройства только с двумя устойчивыми состояниями (есть ток нет тока, намагничен не намагничен и т.п.); надежность и помехоустойчивость двоичных кодов; выполнение операций с двоичными числами для компьютера намного проще, чем с десятичными. простые десятичные числа записываются в виде бесконечных двоичных дробей; двоичные числа имеют много разрядов; запись числа в двоичной системе однородна, то есть содержит только нули и единицы; поэтому человеку сложно ее воспринимать.
10 10 Двоично-десятичная система BCD = binary coded decimals (десятичные цифры в двоичном коде) 9024,19 = , BCD , , BCD = , BCD = 153,78 10 BCD BCD ,1 BCD = 15, ,1 2 = ,5 = 21,5 Запись числа в BCD не совпадает с двоичной! !
11 11 Восьмеричная система Основание (количество цифр): 8 Алфавит: 0, 1, 2, 3, 4, 5, 6, = система счисления разряды = 1· · ·8 0 = = 100
12 12 Таблица восьмеричных чисел X 10 X8X8 X2X2 X8X8 X2X
13 13 Перевод в двоичную и обратно трудоемко 2 действия трудоемко 2 действия 8 = 2 3 Каждая восьмеричная цифра может быть записана как три двоичных (триада)! ! = <
14 14 Перевод из двоичной системы Шаг 1. Разбить на триады, начиная справа: Шаг 2. Каждую триаду записать одной восьмеричной цифрой: Ответ: =
15 15 Арифметические операции сложение = 8 = = 12 = = 8 = в перенос в перенос
16 16 Арифметические операции вычитание – – (6 + 8) – 7 = 7 (5 – 1 + 8) – 7 = 5 (4 – 1) – 2 = 1 заем
17 17 Шестнадцатеричная система Основание (количество цифр): 16 Алфавит: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, = 6B 16 система счисления 1C разряды = 1· · ·16 0 = = 453 A, 10 B, 11 C, 12 D, 13 E, 14 F 15 B B C C
18 18 Таблица шестнадцатеричных чисел X 10 X 16 X2X2 X 10 X 16 X2X A B C D E F1111
19 19 Перевод в двоичную систему трудоемко 2 действия трудоемко 2 действия 16 = 2 4 Каждая шестнадцатеричная цифра может быть записана как четыре двоичных (тетрада)! ! 7F1A 16 = 7 F 1 A 0111
20 20 Перевод из двоичной системы Шаг 1. Разбить на тетрады, начиная справа: Шаг 2. Каждую тетраду записать одной шестнадцатеричной цифрой: E E F F Ответ: = 12EF 16
21 21 Перевод в восьмеричную и обратно трудоемко 3DEA 16 = Шаг 1. Перевести в двоичную систему: Шаг 2. Разбить на триады: Шаг 3. Триада – одна восьмеричная цифра: DEA 16 =
22 22 Арифметические операции сложение A 5 B 16 + C 7 E 16 A 5 B 16 + C 7 E D =25= =13=D =22= в перенос 13961
23 23 Арифметические операции вычитание С 5 B 16 – A 7 E 16 С 5 B 16 – A 7 E 16 заем 1 D D – – (11+16) – 14=13=D 16 (5 – 1)+16 – 7=13=D 16 (12 – 1) – 10 = 1 заем 131
24 ВЫВОДЫ Перевод чисел из десятичной системы счисления в другую производится путем деления числа или методом подбора. Перевод чисел из двоичной системы счисления в восьмеричную или шестнадцатеричную системы производится путем разбития числа на триады и тетрады, используя таблицы восьмеричных и шестнадцатеричных чисел.
Лекция системы счисления используемые в компьютере
Пример 3.1. Выполнить перевод числа 19 в двоичную систему счисления:
Пример 3.2. Выполнить перевод числа 19 в шестнадцатеричную систему счисления:
Пример 3.3. Выполнить перевод числа 123 в шестнадцатеричную систему счисления:
2. Из двоичной и шестнадцатеричной систем счисления — в десятичную. В этом случае рассчитывается полное значение числа по формуле.
Пример 3.4. Выполнить перевод числа 1316 в десятичную систему счисления. Имеем:
1316 = 1*16 1 + 3*16 0 = 16 + 3 = 19.
Таким образом, 1316 = 19.
Пример 3.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;
- каждая тетрада заменятся соответствующей шестнадцатеричной цифрой в соответствии с таблицей
Пример 3.6. Выполнить перевод числа 100112 в шестнадцатеричную систему счисления.
Поскольку в исходном двоичном числе количество цифр не кратно 4, дополняем его слева незначащими нулями до достижения кратности 4 числа цифр. Имеем:
- каждая цифра исходного числа заменяется тетрадой двоичных цифр в соответствии с таблицей. Если в таблице двоичное число имеет менее 4 цифр, оно дополняется слева незначащими нулями до тетрады;
- незначащие нули в результирующем числе отбрасываются.
Пример 3.7. Выполнить перевод числа 1316 в двоичную систему счисления.
По таблице имеем: 116 = 12 и после дополнения незначащими нулями 12 = 00012; 316 = 112 и после дополнения незначащими нулями 112 = 00112. Тогда 1316 = 000100112. После удаления незначащих нулей имеем 1316 = 100112.
Правила перевода правильных дробей
Результатом является всегда правильная дробь.
1. Из десятичной системы счисления — в двоичную и шестнадцатеричную:
- исходная дробь умножается на основание системы счисления, в которую переводится (2 или 16);
- в полученном произведении целая часть преобразуется в соответствии с таблицей в цифру нужной системы счисления и отбрасывается — она является старшей цифрой получаемой дроби;
- оставшаяся дробная часть вновь умножается на нужное основание системы счисления с последующей обработкой полученного произведения в соответствии с шагами а) и б).
- процедура умножения продолжается до тех пор, пока ни будет получен нулевой результат в дробной части произведения или ни будет достигнуто требуемое количество цифр в результате;
- формируется результат: последовательно отброшенные в шаге б) цифры составляют дробную часть результата, причем в порядке уменьшения старшинства.
В данном примере процедура перевода прервана на четвертом шаге, поскольку получено требуемое число разрядов результата. Очевидно, это привело к потере ряда цифр.
Таким образом, 0,847 = 0,11012.
Пример 3.9. Выполнить перевод числа 0,847 в шестнадцатеричную систему счисления. Перевод выполнить до трех значащих цифр.
В данном примере также процедура перевода прервана. Таким образом, 0,847 = 0,D8D2.
2. Из двоичной и шестнадцатеричной систем счисления — в десятичную. В этом случае рассчитывается полное значение числа по формуле, причем коэффициенты ai принимают десятичное значение в соответствии с таблицей.
Пример 3.10. Выполнить перевод из двоичной системы счисления в десятичную числа 0,11012. Имеем:
0,11012 = 1*2 -1 + 1*2 -2 + 0*2 -3 +1*2 -4 = 0,5 + 0,25 + 0 + 0,0625 = 0,8125.
Расхождение полученного результата с исходным для получения двоичной дроби числом вызвано тем, что процедура перевода в двоичную дробь была прервана.
Таким образом, 0,11012 = 0,8125.
Пример 3.11. Выполнить перевод из шестнадцатеричной системы счисления в десятичную числа 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.
3. Из двоичной системы счисления в шестнадцатеричную:
- исходная дробь делится на тетрады, начиная с позиции десятичной точки вправо. Если количество цифр дробной части исходного двоичного числа не кратно 4, оно дополняется справа незначащими нулями до достижения кратности 4;
- каждая тетрада заменяется шестнадцатеричной цифрой в соответствии с таблицей.
Пример 3.13. Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,00101012.
Поскольку количество цифр дробной части не кратно 4, добавим справа незначащий ноль: 0,00101012 = 0,001010102. В соответствии с таблицей 00102 = 102 = 216 и 10102 = A16. Тогда имеем 0,00101012 = 0,2A16.
- каждая цифра исходной дроби заменяется тетрадой двоичных цифр в соответствии с таблицей;
- незначащие нули отбрасываются.
Правило перевода дробных чисел
Отдельно переводится целая часть числа, отдельно — дробная. Результаты складываются.
Пример 3.15. Выполнить перевод из десятичной системы счисления в шестнадцатеричную числа 19,847. Перевод выполнять до трех значащих цифр после запятой.
Представим исходное число как сумму целого числа и правильной дроби:
19,847 = 19 + 0,847.
Как следует из примера 3.2, 19 = 1316; а в соответствии с примером 3.9 0,847 = 0,D8D16. Тогда имеем:
19 + 0,847 = 1316 + 0,D8D16 = 13,D8D16.
Таким образом, 19,847 = 13,D8D16.
Позиционные системы счисления
В системах счисления, которые содержат больше (10) знаков, после цифры (9) начинаются латинские буквы. (10), (11), (12) использовать мы не можем, т. к. это уже числа, а для продолжения алфавита нужны ещё цифры, поэтому было принято использовать латинские буквы.
Это самая распространённая система счисления в мире. Её применяют для повседневного счёта. Для записи чисел используются арабские цифры (0), (1), (2), (3), (4), (5), (6), (7), (8), (9).
Любое число позиционной системы счисления можно записать в развёрнутом виде. То есть в виде суммы произведений цифр числа на основание этой системы счисления с соответствующей степенью.
Сначала пронумеруем разряды числа, начиная с младшего — единиц. Нумерацию начинаем с (0). Цифра (2) находится в разряде единиц, ставим над ней (0), далее разряд десятков — над цифрой (5) ставим (1) и т. д.
Двоичные числа получили широкое применение в компьютерной технике. Два значения, используемые в двоичной системе счисления, позволяют идентифицировать два состояния: есть ток ((1)), нет тока ((0)); использовать булеву алгебру для работы логических устройств; легко производить арифметические операции.
111001,101 2 = 1 × 2 5 + 1 × 2 4 + 1 × 2 3 + 0 × 2 2 + 0 × 2 1 + 1 × 2 0 + 1 × 2 − 1 + 0 × 2 − 2 + 1 × 2 − 3 .
У двоичной системы счисления есть один недостаток. Разряды чисел очень быстро растут. Поэтому в компьютерной технике стали широко применять восьмеричную и шестнадцатеричную системы счисления. Компьютер легко переводит числа из одной системы счисления в другую.
Знание алгоритма записи развёрнутой формы числа пригодится нам в будущем для перевода чисел из любой позиционной системы счисления в десятичную.
Основные позиционные СС, правила перевода
Двоичная система счисления
Систему, на которой основывается работа компьютеров, придумал гениальный немецкий ученый Г.В. Лейбниц (еще до 19 века!). Он придумал и описал СС, в которой все вычисления проводятся при помощи двух простейших символов – 0 и 1.
Компьютер, как механическое устройство, получает команды в виде двоичной кодировки. Он не в силах понять сложные задания, человеческую речь, музыку или тысячи оттенков, а переводя/кодируя всю необходимую информацию при помощи 0 и 1 (сеть, отсутствие сети), можно передать ему любые команды или информацию. Естественно, такие задания выглядят как огромные массивы двух знаков.
Алгоритм перевода чисел из десятичной в двоичную систему:
- Деление на основу СС до тех пор, пока не останется в остатке значение меньше значения основы.
- Записать остатки, от последнего к первому.
- Первый ноль можно не писать.
0 111 0100 11002
Этот порядок действия позволят переводить в любую позиционную СС. В данном случае, основа – 2, остаток < или равен =.
Обратный алгоритм перевода из двоичной в десятичную систему счисления:
Записать число развернуто, то есть, сколько сотен, десятков и единиц в нем, но учитывая основу – 2
Объяснение. Развернутая форма записи 579: 5*10 2 +7*10 1 +9*10 0 = 57910.
Обычно мы пользуемся свернутой формой записи чисел, то есть без разбивки на разряды и умножения на основу.
- Умножить и суммировать полученные значения.
А чтобы было легче, пользуются готовой таблицей степеней 2.
Альтернативный способ преобразования для гуманитариев
Для начала нужно написать степени двойки, начиная с самой большой:
Далее нужно отнимать от числа максимальную степень двойки и напротив нее ставить 1, если есть в исходном варианте или 0, если его нет.
Перевод числа 579
Обратно еще проще. Подсчитать количество знаков – это будет степень 2 в степени -1. И так далее. А проще при помощи той же таблицы:
Если же оно на 1 больше, то число будет начинаться и заканчиваться на 1, а внутри – сплошные 0.
Основой такой системы является 8, а числа восьмеричной системы 0-7. Данная система счисления является позиционной и целочисленной. Применяется в сферах, связанных с цифровыми технологиями, особенно в Linux-программном обеспечении (права доступа, исполнения).
Пример: Перевести 5798 из десятичной в восьмеричную систему счисления:
Обратный перевод из восьмеричной СС в десятичную:
11038 = 1∙8 3 +1∙8 2 +0∙8 1 +3∙8 0 = 512+64+0+3 = 57910
Альтернативный вариант таблицы степеней
1.1.3. Восьмеричная система счисления
Восьмеричной системой счисления называется позиционная система счисления с основанием 8. Для записи чисел в восьмеричной системе счисления используются цифры: 0, 1,2, 3, 4, 5, 6, 7.
На основании формулы (1) для целого восьмеричного числа можно записать:
Например: 10638 = 1 • 8 3 + 0 • 8 2 + 6 • 8 1 + 3 • 8 0 = 56310.
Таким образом, для перевода целого восьмеричного числа в десятичную систему счисления следует перейти к его развёрнутой записи и вычислить значение получившегося выражения.
Для перевода целого десятичного числа в восьмеричную систему счисления следует последовательно выполнять деление данного числа и получаемых целых частных на 8 до тех пор, пока не получим частное, равное нулю. Исходное число в новой системе счисления составляется последовательной записью полученных остатков, начиная с последнего.
Пример 6. Переведём десятичное число 103 в восьмеричную систему счисления.
Тесты
- Где порядок символов не влияет на величину числа.
- От очередности знаков зависит значение числа.
- Где числа записывают буквами.
Совокупность знаков, с помощью которых записываются числа, называют: