Перевод чисел из двоичной сс в восьмеричную, шестнадцатеричную сс.
Цель: научиться переводить из двоичной сс в восьмеричную, шестнадцатеричную сс, минуя десятичную сс.
Задачи:
План урока
Конспект урока
1.Проверочная работа в течении 10 минут на раздатках
Ответы: А1 - 2; А2 – 2; А3 - 3; А4 – 4; В1 – 8-ная; В2 - САВ.
Перевести числа из одной системы счисления в другую
Теперь, поменяйтесь с соседом по парте листочком. На экране, вы видите правильные варианты ответов. Проверьте данный вам листочек. Выставьте оценки в соответствии со шкалой на экране.
2. Попробуйте ответить на вопрос “Можно ли переводить из двоичной системы счисления в восьмеричную, шестнадцатеричную системы счисления, минуя десятичную?”
Варианты ответов: Да можно/ Нет нельзя.
Перевод чисел между системами счисления, основания которых являются степенями числа 2 (q = 2 n ), может производиться по более простым алгоритмам. Такие алгоритмы могут применяться для перевода чисел между двоичной (q = 2 1 ), восьмеричной (q = 2 3 ) и шестнадцатеричной (q = 2 4 ) системами счисления.
Перевод чисел из двоичной системы счисления в восьмеричную. Для записи двоичных чисел используются две цифры, то есть в каждом разряде числа возможны 2 варианта записи. Решаем показательное уравнение:
2 = 2 i . Так как 2 = 2 1 , то i = 1 бит.
Каждый разряд двоичного числа содержит 1 бит информации.
Для записи восьмеричных чисел используются восемь цифр, то есть в каждом разряде числа возможны 8 вариантов записи. Решаем показательное уравнение:
8 = 2 i . Так как 8 = 2 3 , то i = 3 бита.
Каждый разряд восьмеричного числа содержит 3 бита информации.
Таким образом, для перевода целого двоичного числа в восьмеричное его нужно разбить на группы по три цифры, справа налево, а затем преобразовать каждую группу в восьмеричную цифру. Если в последней, левой, группе окажется меньше трех цифр, то необходимо ее дополнить слева нулями.
Переведем таким способом двоичное число 101001 2 в восьмеричное:
101 001 2 => 1 × 2 2 + 0 × 2 1 + 1 × 2 0 0 × 2 2 + 0 × 2 1 + 1 × 2 0 => 51 8 .
Для упрощения перевода можно заранее подготовить таблицу преобразования двоичных триад (групп по 3 цифры) в восьмеричные цифры:
Двоичные триады | ||||||||
Восьмеричные цифры |
Для перевода дробного двоичного числа (правильной дроби) в восьмеричное необходимо разбить его на триады слева направо и, если в последней, правой, группе окажется меньше трех цифр, дополнить ее справа нулями. Далее необходимо триады заменить на восьмеричные числа.
Например, преобразуем дробное двоичное число А 2 = 0,110101 2 в восьмеричную систему счисления:
Двоичные триады | ||
Восьмеричные цифры |
Получаем: А 8 = 0,65 8 .
Перевод чисел из двоичной системы счисления в шестнадцатеричную. Для записи шестнадцатеричных чисел используются шестнадцать цифр, то есть в каждом разряде числа возможны 16 вариантов записи. Решаем показательное уравнение:
16 = 2 i . Так как 16 = 2 4 , то i = 4 бита.
Каждый разряд шестнадцатеричного числа содержит 4 бита информации.
Таким образом, для перевода целого двоичного числа в шестнадцатеричное его нужно разбить на группы по четыре цифры (тетрады), начиная справа, и, если в последней левой группе окажется меньше четырех цифр, дополнить ее слева нулями. Для перевода дробного двоичного числа (правильной дроби) в шестнадцатеричное необходимо разбить его на тетрады слева направо и, если в последней правой группе окажется меньше четырех цифр, то необходимо дополнить ее справа нулями.
Затем надо преобразовать каждую группу в шестнадцате-ричную цифру, воспользовавшись для этого предварительно составленной таблицей соответствия двоичных тетрад и шестнадцатеричных цифр.
Переведем целое двоичное число А 2 = 101001 2 в шестнадцатеричное:
Двоичные тетрады | 0010 | 1001 |
Шестнадцатеричные цифры |
В результате имеем: А 16 = 29 16 .
Переведем дробное двоичное число А 2 =0,110101 2 в шестнадцатеричную систему счисления:
Двоичные тетрады | 1101 | 0100 |
Шестнадцатеричные цифры |
Получаем: А 16 = 0,D4 16 .
Для того чтобы преобразовать любое двоичное число в восьмеричную или шестнадцатеричную системы счисления, необходимо произвести преобразования по рассмотренным выше алгоритмам отдельно для его целой и дробной частей.
Перевод чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную. Для перевода чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную необходимо цифры числа преобразовать в группы двоичных цифр. Для перевода из восьмеричной системы в двоичную каждую цифру числа надо преобразовать в группу из трех двоичных цифр (триаду), а при преобразовании шестнадцатеричного числа - в группу из четырех цифр (тетраду).
Например, преобразуем дробное восьмеричное число А 8 = 0,47 8
Восьмеричные цифры | ||
Двоичные триады |
Получаем: А 2 = 0,100111 2 .
Переведем целое шестнадцатеричное число А 16 = АВ 16 в двоичную систему счисления:
Шестнадцатеричные цифры | ||
Двоичные тетрады | 1010 | 1011 |
В результате имеем: А 2 = 10101011 2
3. 3адания
1.17. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие целые числа: 1111 2 , 1010101 2 .
1.18. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие дробные числа: 0,01111 2 , 0,10101011 2 .
1.19. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие числа: 11,01 2 , 110,101 2 .
1.20. Перевести в двоичную систему счисления следующие числа: 46,27 8 , ЕF,12 16 .
1.21. Сравнить числа, выраженные в различных системах счисления: 1101 2 и D 16 ; 0,11111 2 и 0,22 8 ; 35,63 8 и 16,С 16 .
Литература
http://www.5byte.ru/11/0006.php
Шаблон для проверки своих знаний
Фамилия, Имя ______________________________
А1. Вычислите значение суммы в десятичной СС:
10 2 + 10 4 + 10 6 + 10 8 = ?
1. 22
2. 20
3. 18
4. 24
А2. Двоичным эквивалентом числа 60 является:
1. 111100
2. 10110
3. 110
4. 110101
А3. Сколько единиц содержит двоичная запись числа 25?
1. 1 2. 2 3. 3 4. 4
А4. В системе с некоторым основанием число 17 записывается как
101. Укажите это основание.
1. 2
2. 3
3. 4
4. 8
В1. В коробке 31 шар. Из них 12 красных и 17 желтых.
В какой системе счисления такое возможно?
В2. Даны 3 числа. Поставьте их в порядке убывания.
А = 203 4 В = 10101 2 С = 135 6
Чтобы пользоваться предварительным просмотром презентаций создайте себе аккаунт (учетную запись) Google и войдите в него: https://accounts.google.com
Ответы: А1 - 2; А2 – 1; А3 - 3; А4 – 3; В1 – 8-ная; В2 - САВ.
Перевод чисел из двоичной системы счисления в восьмеричную, шестнадцатеричную системы счисления. Цель: научиться переводить из двоичной системы счисления в восьмеричную, шестнадцатеричную системы счисления, минуя десятичную.
Перевод чисел из двоичной системы счисления в восьмеричную. Для записи двоичных чисел используются две цифры, то есть в каждом разряде числа возможны 2 варианта записи. Решаем показательное уравнение: 2 = 2 i . Так как 2 = 2 1 , то i = 1 бит. Каждый разряд двоичного числа содержит 1 бит информации. Для записи восьмеричных чисел используются восемь цифр, то есть в каждом разряде числа возможны 8 вариантов записи. Решаем показательное уравнение: 8 = 2 i . Так как 8 = 2 3 , то i = 3 бита.
Триады Для перевода целого двоичного числа в восьмеричное его нужно разбить на группы по три цифры, справа налево, а затем преобразовать каждую группу в восьмеричную цифру. Если в последней, левой, группе окажется меньше трех цифр, то необходимо ее дополнить слева нулями. Далее необходимо триады заменить на восьмеричные числа.
Перевод чисел из двоичной системы счисления в шестнадцатеричную. Для записи шестнадцатеричных чисел используются шестнадцать цифр, то есть в каждом разряде числа возможны 16 вариантов записи. Решаем показательное уравнение: 16 = 2 i . Так как 16 = 2 4 , то i = 4 бита. Каждый разряд шестнадцатеричного числа содержит 4 бита информации.
Тетрады для перевода целого двоичного числа в шестнадцатеричное его нужно разбить на группы по четыре цифры (тетрады), начиная справа, и, если в последней левой группе окажется меньше четырех цифр, дополнить ее слева нулями. Затем надо преобразовать каждую группу в шестнадцатеричную цифру.
Задания 1.17 Перевести в восьмеричную и шестнадцатеричную системы счисления следующие целые числа: 1111 2 , 1010101 2 . 1.18. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие дробные числа: 0,01111 2 , 0,10101011 2 . 1.19. Перевести в восьмеричную и шестнадцатеричную системы счисления следующие числа: 11,01 2 , 110,101 2 . 1.20. Перевести в двоичную систему счисления следующие числа: 46,27 8 , ЕF,12 16 . 1.21. Сравнить числа, выраженные в различных системах счисления: 1101 2 и D 16 ; 0,11111 2 и 0,22 8 ; 35,63 8 и 16,С 16 .
Системы счисления 2
Двоичная система счисления 3
Контрольная работа. 5
Перевод чисел из 10-ой системы счисления в двоичную 8
Самостоятельная работа 12
Решение примеров на перевод. 13
Контрольная работа. 14
Системы счисленияКаждый день мы с вами используем слова «число» и «цифра». А что означают эти слова?
Определение: Цифра – это символ, участвующий в записи числа.
Под числом будем понимать его величину, а не его символьную запись. Число изображается несколькими символами (цифрами) некоторого алфавита.
Определение: Система счисления – это совокупность правил для обозначения и наименования чисел; способ представления числа символами некоторого алфавита (цифрами).
Системы счисления делятся на:
непозиционные
позиционные
Определение: Непозиционной называется такая система счисления, в которой величина числа не зависит от положения цифры в числе, т.е. число определяется как сумма или разность цифр в числе.
Например: римская система счисления.
Определение: Система счисления называется позиционной, если значение цифры зависит от ее места (позиции) в записи числа.
Например: десятичная система счисления.
История развития систем счисленияГруппы систем счисления
I. Анатомического происхождения:
II. Алфавитные:
славянская
древнеармянская
древнегрузинская
древнегреческая (ионическая)
III. Машинные:
IV. Прочие:
вавилонская (60-ная)
египетская
Домашнее задание: написать реферат.
Для подготовки реферата – литература:
Мир чисел
Энциклопедии
История математики в России
«За страницами учебника математики»
Я познаю мир
План реферата:
Где была распространена, как развивалась и где сохранилась.
Примеры записи чисел.
Использованная литература.
Алфавит: 0,1.
Свойства сложения: 0+0=0
При сложении необходимо учитывать возможные переносы единиц из младших разрядов в старшие.
А) +10101 б) +1001 в) +1101 г) +110111
1010 1010 1011 11010
11111 10011 11000 1010001
д) +101011 е) +100001
11101 110010
Примеры для самостоятельного решения раздаются на карточках. Отдельно записаны ответы. Необходимо решить примеры и найти соответствие между номерами примеров и номерами ответов.
10010011+1011011=11101110 7
10110111+10011011=101010010 2
10011101+11101101=110001010 9
10010111+1011100=11110011 15
11101001+10011101=110000110 1
11010011+11011011=110101110 11=6
11001011+11011011=110100110 8
11101111+10111111=110101110 6=11
10101010+11001100=101110110 12
10) 10110011+1010101=100001000 4
11) 110011001+111011101=1101110110 14
12) 100110011+101110111=1010101010 3
13) 110111011+101010101=1100010000 16
14) 110111011+110110110=1101110001 10
15) 11011101+100110011=1000010000 5
16) 101110110+101100111=1011011101 13
Записать на полях тетради: 1+1=10
Домашнее задание: Те примеры, которые не успели решить в классе. Часть примеров проверяется у доски, остальные по номерам ответов.
Вычитание в двоичной системе счисленияПовторить свойства сложения.
Свойства вычитания: 1-0=1
Примеры разбираются у доски учителем:
А) -100010 б) -100001 в) –1010001 г) - 1010100
101 110 101 1011
11101 11011 1001100 1001001
д) -100111 е) - 100100 ж) - 110011 з) - 101110
10111 10111 11101 11010
10000 1101 10110 10100
и) - 10011101 к) - 10111011
1101101 1011101
Примеры для самостоятельного решения.
Примеры раздаются на карточках. Варианты возможных ответов записываются на доске.
Нужно найти соответствие между множеством примеров и множеством ответов.
К доске для решения примеров вызываются слабые ученики.
Вычитание всегда можно проверить сложением.
10110011-10001000=101011 3
11001100-10111011=10001 8
110101110-10111111=11101111 11
110100110-11001011=11011011 4
110101110-11011011=11010011 6
110000110-10011101=11101001 1
11110011-10010111=1011100 7
101001010-11101101=1011101 10
101010010-10011011=10110111 5
10) 11101110-1011011=10010011 9
11) 1010111001-11101110=111001011 12
12) 111110101-10110111=100111110 2
Домашнее задание: примеры, которые не успели в классе.
Умножение в двоичной системе счисленияЧто такое система счисления?
Назовите системы счисления анатомического происхождения?
Объясните анатомическое происхождение 5-ой, 10-ой, 12-ой, 20-ой систем счисления?
Где и как сегодня используются 12-ая, 60-ая, 20-ая системы счисления?
Почему возникновение 10-ой системы счисления считается одним из важнейших достижений человеческой мысли?
Какова причина того, что 10-ая система счисления стала общепринятой?
Правильно ли называть цифры 10-ой системы счисления арабскими?
Какие системы счисления называются позиционными и непозиционными?
Римская система счисления: чем она удобна, правила записи чисел, где используется?
II.Повторение сложения и вычитания:
10101+101=11010 5) 1010100-11=1010001
11010+1011=100101 6) 1010001-101=1001100
10101+1011=100000 7) 100000-1011=10101
1010100+111=1011011 8) 100010-101=11101
III. Свойства умножения: 0*0=0
А) *1011 б) *10001 в) *11010 г) *11001
11 11 101 1101
1011 10001 11010 11001
1011 10001 11010 11001
100001 110011 10000010 11001
IV. Примеры для самостоятельного решения.
111101*111101=111010001001 2
100001*111111=100000011111 11
111110*100010=100000111100 12
100011*111101=100001010111 6
111100*100100=100001110000 3
100101*11011=1111100111 7
111010*100110=100010011100 10
100111*111011=100010101111 4
111000*101000=100011000000 8
10) 101001*110111=100011001111 5
11) 110110*101010=100011011100 9
12) 101011*110101=100011100111 1
Контрольная работа.Проверить примеры №10-12 из домашнего задания.
10010011+1011011=11101110
11101001+10011101=110000110
10010111+1011100=11110011
11001011+11011011=110100110
10101010+11001100=101110110
100001000-10110011=1010101
110101110-10111111=11101111
11011011-1101011=1110000
11110011-10010111=1011100
10) 101010010-10011011=10110111
11) 100001*111111=100000011111
12) 100011*111101=100001010111
13) 100101*111011=100010000111
14) 100111*111001=100010101111
15) 101001*110111=100011001111
1011101+11101101=101001010
10110111+10011011=101010010
11010011+11011011=110101110
11101111+10111111=110101110
10110011+1010101=100001000
11001100-1011101=1101111
11001011-1101001=1100010
110000110-10011101=11101001
101001010-10011011=10101111
11101110-1011011=10010011
111110*100010=100000111100
111100*100100=100001110000
111010*100100=100000101000
111000*101000=100011000000
110110*101010=100011011100
Домашнее задание: повторить все правила.
Деление в двоичной системе счисленияI. Повторить свойства и правила сложения и вычитания.
У доски: 1101011+11011=
1110100-11=1110001
111100*111110=111010001000
101111*110001=100011111111
II. Сначала разбираем у доски.
А) 100001/11 б) 10000010/1101 0
11 1011 1101 101
11 1101
в) 11001100/11 0
11 100010
III.Примеры для самостоятельного решения:
11100110101:101101=101001 9
100011111100:110010=101110 10
100011001111:110111=101001 9
100001110000:111100=100100 11
111010000101:111111=111011 6
101000100101:110101=110001 2
100011110111:101101=110011 1
111010001001:111101=111101 8
11111100101:101011=101111 4
10) 100011011100:110110=101010 5
11) 1110100001000:111100=111110 3
12) 101111001101:110101=111001 12
13) 100011111111:101111=110001 2
14) 100010000111:111011=100101 7
15) 101011110101:110111=110011 1
IV. Домашнее задание: примеры №9-12.
Решение примеров на умножение и делениеПроверить домашнее задание
Решение примеров:
101001*101101=11100110101
101110*110010=100011111100
110111*101001=100011001111
100100*111100=100001110000
111111*111011=111010000101
111110*100010=100000111100
111010*100110=100010011100
111000*10100=10001100000
И примеры №13-15 (предыдущего урока)
Перевод чисел из 10-ой системы счисления в двоичнуюПовторить правила операций сложения, умножения в двоичной системе счисления.
Объяснить, что все системы счисления связаны между собой. Существуют правила перевода чисел из одной системы счисления в другую.
Записать в словари алгоритмы и примеры.
Алгоритм перевода целого числа:
Делить данное число и получаемые неполные частные на 2 до тех пор, пока не получили неполное частное равное 0
Составить число в двоичной системе счисления, записывая остатки от деления, начиная с последнего остатка.
10 5/2
1 4 2/2
1 2 1/2
Алгоритм перевода дробной части:
Дробную часть умножаем на 2 до тех пор, пока в правой части не получим 0, или не будет достигнута необходимая точность вычислений.
Составить число, записывая его начиная с первой целой части.
0,5625 10 = 0,1001 2
Алгоритм перевода смешанных чисел
Отдельно перевести целую и дробную части
Записать результат.
17,25 10 = 10001,01 2 12,24 10 = 1100,0011 2
17 10 = 10001 2 12 10 =1100 2
Решение примеров:
513 10 =1000000001 2
600 10 =1001011000 2
602 10 =1001011010 2
1000 10 =11111010001 2
Алгоритмы перевода целых, дробных, смешанных чисел из 10-ой системы счисления в двоичную.
Решение примеров.
А) 1) 2304 10 = 100100000000 2
2) 5001 10 = 1001110001001 2
3) 7000 10 = 1101101011000 2
4) 8192 10 = 10000000000000 2
б) 5) 0,4622 10 =0,011101 2
6) 0,5198 10 = 0,100001 2
7) 0,5803 10 = 0,100101 2
8) 0,6124 10 = 0,100111 2
9) 0,7351 10 = 0,101111 2
10) 0,7982 10 = 0,110011 2
11) 0,8544 10 = 0,110110 2
12) 0,9321 10 = 0,111011 2
В) III. Домашнее задание
13) 40,5 10 = 101000,1 2
14) 31,75 10 = 11111,11 2
15) 124,25 10 = 1111100,01 2
16) 173,2 10 = 10101101,00110
17)33,28 10 = 100001,010001 2
Перевод чисел из любой системы счисления в 10-уюПравила перевода чисел из 10-ой системы счисления в любую другую.
Что такое основание системы счисления?
Перевод в 10-ую систему счисления осуществляется по степенному ряду.
Любое число в 10-ой системе счисления можно представить в следующем виде:
284 10 = 2*100+8*10+4*1= 2*10 2 +8*10 1 +4*10 0 =284 10
Это и есть представление числа в виде степенного ряда.
Все цифры числа умножаем на степень десятки, так как число в 10-ой системе счисления.
Давайте представим в этом виде число 2102 3 , оно записано в 3-ой системе счисления, значит будем каждую цифру числа умножать на степень числа 3:
1) 2102 3 = 2*3 3 +1*3 2 +0*3 1 +2*3 0 =54+9+0+2=65 10
Алгоритм: само число представляем в виде суммы произведений степеней основания системы счисления на цифры числа.
Решение примеров:
1) 1101011 2 = 2 6 *1+2 5 *1+2 4 *0+2 3 *1+2 2 *0+2 1 *1+2 0 =107 10
2) 6104 8 = 8 3 *6+8 2 *1+8 1 *0+8 0 *4=3140 10
3) 29 16 =16 1 *2+16 0 *9=41 10
4) 128 16 = 16 2 *1+16 1 *2+16 0 *8=296 10
5) 4226 8 = 2198 10
6) 101011 2 = 43 10
9)11111 2 = 31 10
10)6234 16 = 25140 10
Вспомнить особенности 2-ой системы счисления.
Записать в словари алфавит: 0,1,2,3,4,5,6,7
Заполнить таблицу:
Перевести числа из 10-ой системы счисления в 8-ую.
1023 10 = 1777 8
1500 10 = 2734 8
1777 10 = 3361 8
Сформулировать правила арифметических операций в 8-ой системе счисления и решить примеры.
1) 770 8 + 236 8 = 1226 8
2) 715 8 + 373 8 =1310 8
3) 524 8 + 57 8 =603 8
4) 712 8 +763 8 =1675 8
5) 3217 8 +765 8 =4204 8
Самостоятельная работа. 8) 7213 8 -537 8 =6454 8
6)5731 8 +1376 8 =7327 8 9) 7125 8 -756 8 =6157 8
7) 6351 8 +737 8 =7310 8 10) 531 8 -452 8 =57 8
Арифметические операции в 8-ой системе счисленияПовторить алфавит 8-ой системы счисления.
Правила перевода чисел из 10-ой системы счисления в 8-ую.
Правила арифметических операций.
Решение примеров.
776472+ 763342=1762034
532661+257721=1012602
354243+467566=1044031
432077+645662=1277761
273462-156777=114463
700056-365762=312074
300064-212373=65471
2101,01-735,4567=1143,3311
Правила перевода, правила арифметических операций.
II. Записать в словарь алфавит: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
III. Заполнить таблицу.
IV. Перевести числа в 16-ую систему счисления.
1023 10 = 3FF 16
1500 10 = 5DC 16
1777 10 = 6F1 16
Решить примеры
207 16 +3d4 16 =5db
118 16 +da 16 =1f2
a25 16 +b9df 16 =c404
Домашнее задание
2) 3914 10 =f4a 16
4) 6403 10 =1903 16
7) d2c+9797=a4c3
8) 2ca9+b62f=e2d8
VII. Перевести числа из одной системы счисления в другую
1) 2b 16 = 43 10
2) 623e 16 =25150 10
3) 1000 16 = 4096 10
4) 12f 16 = 303 10
5) 3842 10 =182 16
6) 573 10 =23d 16
7) 975 10 =6f 16
Самостоятельная работаI вариант.
Перевести:
1) 31,5 10 =11111,1 2
2) 124,25 10 =1111100,01 2
3) 489 10 =751 8
4) 2277 10 =8e5 16
5) 110011 2 =51 10
6) 11010 2 =26 10
7) 7512 8 =3914 10
8) fad 16 =4013 10
9) 2749 10 =5275 8
10) 114 8 =76 10
II вариант.
Перевести:
1) 40,75 10 =101000,11 2
2) 173,5 10 =10101101,1 2
3) 141 10 =215 8
4) 2377 10 =949 16
5) 10011 2 =19 10
6) 110101 2 =53 10
7) 5327 8 =2775 10
8) abc 16 =2748 10
9) 2750 10 =5276 8
10) 115 8 =77 10
11) f2c7 16 -bcb 16 =e6fc 16
12) a4c3 16 -d2c 16 =9797 16
13) 7f10 16 -5fac 16 =1f64 16
14) abc 16 +e57 16 =1913 16
15) a39 16 +19bc 16 =23f5 16
11) ae53 16 -cf8 16 =a15b 16
12) e2d8 16 -2ca9 16 =b62f 16
13) a2fd 16 -fda 16 =9323 16
14) fad 16 +b86 16 =1b33 16
15) 9e6 16 +b16f 16 =bb55 16
Перевод чисел из 2-ой системы счисления в 8-ную и 16-нуюI Работа над ошибками
1) 3915 10 =f4b 16
2) 623e 16 =251501 10
3) 45 10 =101101 2
4) 4226 8 =2198 10
5) 101100 2 =44 10
6)110 2 *1101 2 =1001110 2
Правила перевода целой и дробной части из 10-ой системы счисления в 2-ую
Правила перевода чисел из 8-ой, 2-ой, 16-ой в 10-ую систему счисления.
II Алгоритм:
Для того, чтобы любое двоичное число перевести в систему счисления с основанием q=2 n , нужно:
данное двоичное число разбить слева и справа от запятой на группы по n цифр в каждой.
если в последних правой и левой группах окажется меньше n цифр, то их надо дополнить справа и слева нулями до нужного числа цифр
рассмотреть каждую группу как n-разрядное двоичное число и записать ее соответствующей цифрой в системе счисления с основанием q=2 n .
III Решение примеров:
10100010010110 2 =24226 8
10110011011011 2 =26333 8
11100110101001 2 =34651 8
1111011110100 2 =17364 8
110001000111110 2 =61076 8
110101011 2 =653 8
1100111000010 2 =14702 8
1100111011111001 2 =
Все правила перевода!
II Алгоритм:
Для того, чтобы произвольное число, записанное в системе счисления с основанием q=2 n перевести в двоичную систему счисления, нужно каждую цифру этого числа заменить ее n-значным эквивалентом в 2-ой системе счисления.
Например:
4ac35 16 =01001010110000110101 2
41035 8 =100001011101 2
III Решение примеров:
e69fd1d 16 =1110011010011111110100011101 2
f7a0 16 =1111011110100000 2
ae5d73b 16 =1010111001011101011100111011 2
2a10 16 =10101000010000 2
1234 8 =001010011100 2
1234 16 =0001001000110100 2
f1f72 16 =11110001111101110010 2
2856 16 =0010100001010110 2
алгоритм перевода из 10-ой системы счисления в любую другую
алгоритм перевода чисел из любой системы счисления в 10-ую
алгоритм перевода из 8-ой и 16-ой систем счисления в 2-ную
алгоритм перевода из 2-ой в 8-ую и 16-ую системы счисления
сформулировать правила сложения в 16-ой системе счисления
сформулировать правила вычитания в 8-ой системе счисления.
II Решение примеров:
4820 10 =11324 8
4820 10 =12d4 16
11100110101 2:101001 2 =101101 2
11100 2 *10110 2 =1001101000 2
110011 2 *1011 2 =1000110001 2
111010000101 2:111111 2 =111011 2
10)f1a5 16 =1111000110100101 2 =170645 8
Контрольная работа.I вариант.
293 10 =100100101 2
111100110101 2 =7465 8 =f35 16
b26a 16 =1011001001101010 2 =131152 8
a15b 16 +cf8 16 =ae53 16
9323 16 +fda 16 =a2fd 16
110101 2 *110001 2 =101000100101 2
10) 100011011100 2:101010 2 =110110 2
11) 4204 8 -765 8 =3217 8
12) 1310 8 -715 8 =373 8
II вариант.
107 10 =1101011 2
100011111100 2 =4374 8 =8fc 16
f7ce 16 =1111011111001110 2 =173716 8
e6fc 16 +bcb 16 =f2c7 16
1f64 16 +5fac 16 =7f10 16
110011 2 *101101 2 =100011110111 2
10) 100010011100 2:111010 2 =100110 2
11) 1675 8 -712 8 =763 8
Системы счисления
Двоичная система счисления
8-ая система счисления
16-ая система счисления
Кодирование чисел 15
Кодирование целых чисел 16
Умножение и деление 21
Преимущества и недостатки 25
В двоичной (binary ) системе счисления всего две цифры, называемые двоичными (binary digits). Сокращение этого наименования привело к появлению термина бит , ставшего названием разряда двоичного числа. Веса разрядов в двоичной системе изменяются по степеням двойки. Поскольку вес каждого разряда умножается либо на 0, либо на 1, то в результате значение числа определяется как сумма соответствующих значений степеней двойки. Если какой-либо разряд двоичного числа равен 1, то он называется значащим разрядом. Запись числа в двоичном виде намного длиннее записи в десятичной системе счисления.
Арифметические действия, выполняемые в двоичной системе, подчиняются тем же правилам, что и в десятичной системе. Только в двоичной системе перенос единиц в старший разряд возникает чаще, чем в десятичной. Вот как выглядит таблица сложения в двоичной системе:
0 + 0 = 0 0 + 1 = 1
1 + 0 = 1 1 + 1 = 10 (перенос в старший разряд)
Таблица умножения для двоичных чисел еще проще:
0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1
Пример выполнения операции сложения в двоичной системе счисления:
1 1 1
1 0 1 1 2 Красным цветом показан перенос из младших разрядов в
1 1 0 2 старшие
1 0 0 0 1 2
Для проверки правильности выполнения операции переведем все три числа из двоичной системы в 10-ую:
1011 = 1*2 3 + 1*2 1 + 1 = 8 + 2 + 1 = 11 10
3 2 1 0
110 = 1*2 2 + 1*2 1 = 4 + 2 = 6 10
2 1 0
10001 = 1*2 4 + 1 = 16 + 1 = 17 10
4 3 2 1 0
Сумма первых двух чисел (11 и 6) равна третьему числу (17), следовательно операция выполнена верно.
Обратите внимание на то, что при добавлении к числу, состоящему из единиц (11…1), еще одной единицы, получается число, равное 1 с количеством нулей, равным количеству единиц исходного числа, например:
1111 1111 2 + 1 = 1 0000 0000 2 = 2 8
Пример выполнения операции вычитания в двоичной системе счисления:
Вычитание выполняется по тем же правилам, что и в 10-ой системе, но в 10-й системе при заеме единицы старшего разряда она превращается в 10 единиц младшего разряда, а в 2-й системе в 2 единицы. Если нужно произвести заем не в соседнем разряде, а далее влево, то из каждых двух единиц текущего разряда одна остается в этом разряде, а вторая передается вправо. Сравните :
9 9 10 1 1 2
1 0 0 0 10 1 0 0 0 2
1 - 1
9 9 9 10 1 1 1 2
Выполним в 2-й системе счисление вычитание 17 10 6 10 :
0 1 1 2
1 0 0 0 1 2
1 1 0 2
1 0 1 1 2 = 11 10 Проверка показывает, что вычитание выполнено верно.
Если в двоичной системе счисления из числа, являющегося степенью двойки, вычесть 1, то получается число, состоящее из единиц, количество которых равно количеству нулей двоичного числа, например:
2 8 - 1 = 1 0000 0000 2 1 = 1111 1111 2
1023 = 1024 1 = 2 10 1 = 11 1111 1111 2
Пример выполнения операции умножения в двоичной системе счисления:
1 1 0 1 2 = 13 10
* 1 0 1 2 = 5 10
1 1 0 1
1 1 0 1
1 0 0 0 0 0 1 2 = 2 6 +1 = 64 +1 =65 10 (13 * 5 = 65)
6 5 4 3 2 1 0
Рассмотрим подробнее, как процессор выполняет умножение двоичных чисел. Пусть надо умножить число 1101 на 101 (оба числа в двоичной системе счисления). Машина делает это следующим образом: она берет число 1101 и, если первый справа элемент второго множителя равен 1, то она заносит его в сумму. Затем сдвигает число 1101 влево на одну позицию, получая тем самым 11010, и, если, второй элемент второго множителя равен единице, то добавляет его к сумме. Если элемент второго множителя равен нулю, то сумма не изменяется. Этот процесс сдвигов и сложений повторяется.
Пример выполнения операции деления в двоичной системе счисления:
Двоичное деление основано на методе, знакомом вам по десятичному делению, т. е. сводится к выполнению операций умножения и вычитания. Выполнение основной процедуры - выбор числа, кратного делителю и предназначенного для уменьшения делимого, здесь проще, так как таким числом могут быть только либо 0, либо сам делитель.
В качестве примера разделим 143 10 = 10001111 2 на 13 10 = 1101 2
1 0 0 0 1 1 1 1 1 1 0 1
1 1 0 1 1 0 1 1 2 = 11 10
1 0 0 1 1
1 1 0 1
1 1 0 1
1 1 0 1
Проверка показывает, что деление выполнено верно (143 / 13 = 11).
Умножение или деление двоичного числа на 2 приводит к перемещению запятой, отделяющей целую часть от дробной на один разряд соответственно вправо или влево:
1011 2 * 10 2 = 10110 2.
1011 2 / 10 2 = 101.1 2.
При наладке аппаратных средств ЭВМ или создании новой программы возникает необходимость "заглянуть внутрь" памяти машины, чтобы оценить ее текущее состояние. Но там все заполнено длинными последовательностями нулей и единиц двоичных чисел. Эти последовательности очень неудобны для восприятия человеком, привыкшим к более короткой записи десятичных чисел. Кроме того, естественные возможности человеческого мышления не позволяют оценить быстро и точно величину числа, представленного, например, комбинацией из 16 нулей и единиц.
Для облегчения восприятия двоичного числа решили разбивать его на группы разрядов, например, по три или четыре разряда. Эта идея оказалась очень удачной, так как последовательность из трех бит имеет 8 комбинаций, а последовательность из 4 бит - 16. Числа 8 и 16 являются степенями двойки, поэтому легко находить соответствие с двоичными числами. Развивая эту идею, пришли к выводу, что группы разрядов можно закодировать, сократив при этом длину последовательности знаков. Для кодировки трех битов требуется восемь цифр, поэтому взяли цифры от 0 до 7 десятичной системы. Для кодировки же четырех битов необходимо шестнадцать знаков; для этого взяли 10 цифр десятичной системы и 6 букв латинского алфавита: A, B, C, D, E, F. Полученные системы, имеющие основания 8 и 16, назвали соответственно восьмеричной и шестнадцатеричной.
В восьмеричной (octal) системе счисления используются восемь различных цифр: 0, 1, 2, 3, 4, 5, 6, 7. Основание системы - 8. При записи отрицательных чисел перед последовательностью цифр ставят знак минус. Сложение, вычитание, умножение и деление чисел, представленных в восьмеричной системе, выполняются весьма просто, подобно тому, как это делают в общеизвестной десятичной системе счисления.
Пример выполнения операции сложения в восьмеричной системе счисления:
1 1 Красным цветом показан перенос из младших разрядов в старшие.
4 7 6
3 4 1) 6 + 4 = 10 = 1*8 + 2 = 12 8
5 3 2 2) 1 + 7 + 3 = 1*8 + 3 = 13 8
3) 1 + 4 = 5
Проверим результат путем перевода чисел в десятичную систему счисления:
476 8 = 4*8 2 + 7*8 + 6 = 318 318
34 8 = 3*8 + 4 = 28 + 28
532 = 5*8 2 + 3*8 + 2 = 346 346
Пример выполнения операции вычитания в восьмеричной системе счисления:
7 8 Красным цветом показан перенос из старших разрядов в младшие .
5 3 2 Выполнение операции в каждом разряде:
3 4 1) 8 + 2 4 = 6
4 7 6 2) 7 + 2 - 3 = 1 *8 + 3 = 13 8
3) 1 + 4 = 5
Пример выполнения операции умножения в восьмеричной системе счисления:
5 4 54 4*4 = 16 = 2 *8 + 0 = 20 8 (записываем 0)
* 3 4 * 4 2+ 5*4 = 22 = 2 *8 + 6 = 26 8
2 6 0 260
2 0 4
2 3 2 0 54 4*3 = 12 = 1 *8 + 4 = 14 8 (записываем 4)
* 3 1 + 5*3 = 16 = 2 *8 + 0 = 20 8
Выполним проверку :
54 8 = 5*8 + 4 = 44 10 44
34 8 = 3*8 + 4 = 28 10 * 28
2320 8 = 2*8 3 + 3*8 2 + 2*8 = 1232 10 352
88 = 1232 10
Пример выполнения операции деления в восьмеричной системе счисления:
2 3 2 0 8 5 4 8
2 0 4 3 4 8
2 6 0
2 6 0
Деление в восьмеричной системе близко делению в десятичной системе: нужно подобрать цифры частного. 232 делим на 54, в десятичной системе мы получили бы целое частное 4, но из предидущего примера мы знаем, что в восьмеричной системе 54*4 = 260, это много, попробуем взять цифру поменьше 3, умножаем 54*3 = 204, эта цифра подходит, и т.д.
В различных языках программирования запись восьмеричных чисел начинается с 0, например, запись 011 означает десятичное число 9.
В шестнадцатеричной (hexadecimal) системе счисления применяются десять цифр от 0 до 9 и шесть первых букв латинского алфавита:
10 A 11 B 12 C 13 D 14 E 15 F .
При записи отрицательных чисел слева от последовательности цифр ставят знак минус.
Для того чтобы при написании компьютерных программ отличить числа, записанные в шестнадцатеричной системе, от других, перед числом ставят 0x. То есть 0x11 и 11 - это разные числа.
Шестнадцатеричная система счисления широко используется при задании различных оттенков цвета при кодировании графической информации (модель RGB). Так, в редакторе гипертекста Netscape Composer можно задавать цвета для фона или текста как в десятичной, так и шестнадцатеричной системах счисления (см. рисунок).
Пример выполнения операции сложения в 16-ой системе счисления:
1 1 Красным цветом показан перенос из младших разрядов
A 7 B 16 Выполнение операции в каждом разряде:
C 8 16 B + 8 = 11 + 8 = 19 = 1*16 + 3 = 13 16 (записываем 3)
B 4 3 16 1 +7+С = 8+12 = 20 = 1*16 + 4 = 14 16 (записываем 4)
1 + A = B
Проверим резульат путем перевода чисел в 10-ю систему:
A7B 16 = 10*16 2 + 7*16 +11 = 2683
2 1 0 2683
C8 16 = 12*16 + 8 = 200 + 200
1 0 2883
B 43 16 = 11*16 2 + 4*16 +3 = 2883
2 1 0
Пример выполнения операции вычитания в 16-ой системе счисления:
15 16 Красным цветом показан заем из старших разрядов
B 4 3 16 Выполнение операции в каждом разряде:
A 7 B 16 16 + 3 B = 19 -11 = 8
C 8 16 15 + 4 7 = 12 = C
B - 1 A = 0
Умножение и деление в 16-ой системе обычно не выполняется ввиду сложности вычислений.
Перевод числа из системы счисления с основанием q в 10-ю систему счисления выполняется путем вычисления значения многочлена по степеням q , коэффициенты которого равны цифрам числа.
Рассмотрим различные способы перевода чисел из одной системы счисления в другую на конкретных примерах.
1 0 1 1 . 1 0 1 2 = 1*2 3 + 0*2 2 + 1*2 + 1*2 0 + 1*2 -1 + 0* 2 -2 + 1*2 -3 =
3 2 1 0 -1 -2 -3
8 + 2 + 1 + 0.5 + 0.125 = 11.625
Для того, чтобы быстро переводить числа из двоичной системы счисления в 10-ую, необходимо запомнить степени двойки: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 и т.д. Отрицательные степени двойки: .5, .25, .125, .0625, .03125 и т.д.
6 3 2.4 5 8 = 6*8 2 + 3*8 + 2 + 4* 8 -1 + 5*8 -2 = 6*64 + 24 + 2 +4 /8 + 5/64 =
2 1 0 -1 -2
410.578125
E 7 F.8 16 = 14*16 2 + 7*16 + 15 + 8/16 = 14*256 + 7*16 + 15 + .5 = 3711.5
2 1 0 -1
Перевод из 10-ой системы целой и дробной частей выполняется по различным алгоритмам, поэтому будем рассматривать их отдельно.
Перевод целой части
Пусть требуется перевести число 567 из десятичной в двоичную систему. Сначала определим максимальную степень двойки, такую, чтобы два в этой степени было меньше или равно исходному числу. В нашем случае это 9, т. к. 2 9 =512, а 2 10 =1024, что больше начального числа. Таким образом, мы получим число разрядов результата. Оно равно 9+1=10. Поэтому результат будет иметь вид 1ххххххххх, где вместо х могут стоять любые двоичные цифры. Найдем вторую цифру результата. Возведем двойку в степень 9 и вычтем из исходного числа: 567-2 9 =55. Остаток сравним с числом 2 8 =256. Так как 55 меньше 256, то девятый разряд будет нулем, т. е. результат примет вид 10хххххххх. Рассмотрим восьмой разряд. Так как 2 7 =128>55, то и он будет нулевым.
Седьмой разряд также оказывается нулевым. Искомая двоичная запись числа принимает вид 1000хххххх. 2 5 =32<55, поэтому шестой разряд равен 1 (результат 10001ххххх). Для остатка 55-32=23 справедливо неравенство 2 4 = 16 < 23, что означает равенство единице пятого разряда. Действуя аналогично, получаем в результате число 1000110111. Мы разложили данное число по степеням двойки:
567=1*2 9 + 0*2 8 + 0*2 7 + 0*2 6 + 1*2 5 + 1*2 4 + 0*2 3 + 1*2 2 + 1*2 1 + 1*2 0
При другом способ e перевода чисел используется операция деления в столбик. Рассмотрим то же самое число 567. Разделив его на 2, получим частное 283 и остаток 1. Проведем ту же самую операцию с числом 283. Получим частное 141, остаток 1. Опять делим полученное частное на 2, и так до тех пор, пока частное не станет меньше делителя. Теперь для того, чтобы получить число в двоичной системе счисления, достаточно записать последнее частное, то есть 1, и приписать к нему в обратном порядке все полученные в процессе деления остатки.
Результат, естественно, не изменился: 567 в двоичной системе счисления записывается как 1000110111.
Поскольку делить на 2 несложно, этот процесс можно записать более компактно:
Частное | Остаток
567 | 1 567 = 1000110111 2
283 | 1
141 | 1
70 | 0
35 | 1
17 | 1
8 | 0
4 | 0
2 | 0
1 | 1
Перевод дробной части
Алгоритм перевода дробной части :
Примеры :
Умножаем дробную часть на 2:
целая часть дробная часть
произведения произведения
65625
1 3125
0 625
1 25
0 .65625 = 0.10101 2
Умножаем дробную часть на 2:
целая часть дробная часть
произведения произведения
0 2 Умножаем только дробную часть!
0 4 С этого места процесс повторяется
. . .
В результате перевода большинства десятичных чисел, имеющих дробную часть, получается число с бесконечной дробью, поэтому действительные (вещественные) числа в компьютере хранятся не точно!
Перевод целой части
Алгоритм перевода из десятичной системы в систему счисления с основанием q путем деления и записи остатков в обратном порядке более удобен, поэтому для перевода числа в 8-ю и 16-ую системы мы будем использовать его.
Рассмотрим перевод числа 567 в систему счисления с основанием 8.
567 = 1067 8
Перевод дробной части
Переведем 0.65625 в 8-ю систему счисления.
Умножаем дробную часть на 8 :
целая часть дробная часть
произведения произведения
65625
5 25 Умножаем только дробную часть!
0 .65625 = 0. 52 8
Перевод целой части
Делим число на 16 и записываем остатки в обратном порядке:
В шестнадцатеричной системе счисления необходимо заменить 10 на A , 11 на B и так далее.
Перевод дробной части
Переведем 0.65625 в 16-ю систему счисления.
Умножаем дробную часть на 16 :
целая часть дробная часть
произведения произведения
65625
10(A ) 5 Умножаем только дробную часть!
0.65625 = 0. A 8 16
Пожалуй, проще всего осуществляется перевод чисел из двоичной системы в системы с основанием, равным степеням двойки (8 или 16), и наоборот. Для того чтобы целое двоичное число записать в системе счисления с основанием 2 n , нужно
Таблица перевода из двоичной системы в 16-ю и обратно
Десятичное значение |
Двоичный код |
Шестнадцате-ричная цифра |
0 000 |
||
0 001 |
||
0 010 |
||
0 011 |
||
0 100 |
||
0 101 |
||
0 110 |
||
0 111 |
||
1000 |
||
1001 |
||
1010 |
||
1011 |
||
1100 |
||
1101 |
||
1101 |
||
1111 |
Часть таблицы, выделенная бирюзовым, может использоваться для перевода из 2-й системы в 8-ю и обратно.
Примеры:
Разбиваем двоичное число на тройки цифр:
11101.00111 2 = 011 101.001 110 2 = 35.16 8
Заменяем каждую тройку двоичных цифр соответствующей 8-й цифрой (см. таблицу).
Для перевода числа из 8-й системы счисления в 2-ю нужно каждую 8-ю цифру заменить тройкой двоичных цифр (рассмотрите тот же пример справа-налево).
Разбиваем двоичное число на четверки цифр:
10000.110 1 11 2 = 000 1 0000.110 1 11 00 2 = 10.DC 16
Заменяем каждую четверку двоичных цифр соответствующей 16-й цифрой (см. таблицу).
Для перевода числа из 16-й системы счисления в 2-ю нужно каждую 16-ю цифру заменить четверкой двоичных цифр (рассмотрите тот же пример справа-налево).
Среди всего разнообразия информации, обрабатываемой на компьютере, значительную часть составляют числовая, текстовая, графическая и аудиоинформация. Познакомимся с некоторыми способами кодирования этих типов информации в ЭВМ.
Существуют два основных формата представления чисел в памяти компьютера. Один из них используется для кодирования целых чисел, второй (так называемое представление числа в формате с плавающей точкой) используется для задания некоторого подмножества действительных чисел.
Множество целых чисел, представимых в памяти ЭВМ, ограничено. Диапазон значений зависит от размера области памяти, используемой для размещения чисел. В k -разрядной ячейке может храниться 2 k различных значений целых чисел.
Целые числа могут занимать 1, 2, 4 или 8 байт (для 64-разрядных машин).
Чтобы получить внутреннее представление целого положительного числа N , хранящегося в k -разрядном машинном слове, необходимо:
1. перевести число N в двоичную систему счисления;
2. полученный результат дополнить слева незначащими нулями до k разрядов.
Код целого числа может рассматриваться как двоичное число со знаком или без знака.
При беззнаковом представлении все разряды используются для записи значения числа.
Пример:
Число 107 = 1101011 2 будет записано:
в 1 байт как 01101011
в 2 байта как 00000000 01101011
1-й байт 0-й байт
в 4 байта как 00000000 00000000 00000000 01101011
3-й байт 2-й байт 1-й байт 0-й байт
Минимальное беззнаковое число равно 0. Максимальное беззнаковое число равно 2 n 1, где n кол-во двоичных разрядов, используемых для записи числа.
Например для 2-хбайтового представления
max
=11111111 11111111
2
=
1 00000000 00000000 1 = 2
16
1 = 65 535
Для записи чисел со знаком старший (левый) разряд отводится под знак числа. Если число неотрицательное, то в знаковый разряд записывается 0, в противном случае 1, т.е. единица в знаковом разряде означает знак “минус”.
Целые числа со знаком могут быть записаны в прямом, обратном и дополнительном коде.
В прямом коде число хранится в виде: знак+абсолютное значение (модуль) числа.
В обратном коде в значении числа нули заменяют на единицы, а единицы на нули.
Дополнительный код получают путем прибавления 1 к обратному.
Обратный и дополнительный код неотрицательных чисел совпадает с прямым.
Обратный и дополнительный коды чисел позволяют заменить операцию вычитания сложением с отрицательным числом, что существенно упрощает устройство процессора. Варианты арифметических операций будут рассмотрены ниже.
Пример . Рассмотрим внутреннее представление целого отрицательного числа: -6 = 110 2 .
Однобайтовое:
Прямой код: 1 000 0110
Обратный код: 1 111 1001
Дополнительный: 1 111 1001
1 111 1010
Четырехбайтовое :
Прямой код: 1 0000000 00000000 00000000 00000110
Обратный код: 1 111111 1111111 11111111 111 1 1001
Дополнительный: 1 111111 1111111 11111111 11111001
1 111111 1111111 11111111 11111010
Для того, чтобы получить значение отрицательного числа, записанного в дополнительном коде, можно использовать один из двух алгоритмов:
1) вычесть 1 из дополнительного кода (получаем обратный код) и заменить все нули на единицы, а единицы на нули;
2) сначала заменить все нули на единицы, единицы на нули, затем прибавить единицу к результату.
Пример: возьмем однобайтовый доп. код: 1111 1010 и используем второй алгоритм: 1111 1010 -- > - (0000 0101 + 1) = - 110 2 = -6.
Диапазон значений знаковых чисел
Рассмотрим однобайтовое представление. Возможные дополнительные коды знаковых чисел:
0111 1111
. . .
0000 0001
0000 0000
1111 1111
1111 1110 Отрицательные числа
. . .
1000 0000
Рассмотрим десятичные значения этих чисел:
0111 1111 = 2 7 1 = 128 - 1 = 127
0000 0001 = 1
0000 0000 = 0
1111 1111 -> -(000 0000 + 1) = -1
1111 1110 -> -(000 0001 + 1) = -2
1000 0000 -> -(111 1111 + 1) = -(1000 0000) = -2 7 = -128
Таким образом диапазон значений знаковых однобайтовых чисел:
от -128 до 127.
Аналогично, диапазон значений двухбайтовых целых чисел:
-2
15
- +(2
15
-1) (от -32768 до 32767
).
Диапазон значений четырехбайтовых целых чисел со знаком:
-2
31
- +(2
31
1) (от -2 147 483 648 до 2 147 483 647
)
В большинстве компьютеров операция вычитания не используется. Вместо нее производится сложение обратных или дополнительных кодов уменьшаемого и вычитаемого. Это позволяет существенно упростить конструкцию арифметико-логического устройства процессора.
Сложение обратных кодов . Здесь при сложении чисел А и В имеют место четыре основных и два особых случая:
1. А и В положительные . При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю. Например:
Получен правильный результат.
Например:
Получен правильный результат в обратном коде. При переводе в прямой код биты цифровой части результата инвертируются: 1 0000111 = 7 10 .
Например:
Компьютер исправляет полученный первоначально неправильный результат (6 вместо 7) переносом единицы из знакового разряда в младший разряд суммы.
4. А и В отрицательные. Например:
Полученный первоначально неправильный результат (обратный код числа 11 10 вместо обратного кода числа 10 10 ) компьютер исправляет переносом единицы из знакового разряда в младший разряд суммы. При переводе результата в прямой код биты цифровой части числа инвертируются: 1 0001010 = 10 10 .
Переполнение
При сложении может возникнуть ситуация, когда старшие разряды результата операции не помещаются в отведенной для него области памяти. Такая ситуация называется переполнением разрядной сетки формата числа. Для обнаружения переполнения и оповещения о возникшей ошибке в компьютере используются специальные средства. Ниже приведены два возможных случая переполнения.
5. А и В положительные, сумма А+В больше, либо равна 2 n1 , где n количество разрядов формата чисел (для однобайтового формата n=8, 2 n1 = 2 7 = 128). Например:
Обратите внимание: в результате сложения положительных чисел получен отрицательный результат!
Семи разрядов цифровой части числового формата недостаточно для размещения восьмиразрядной суммы (162 10 = 10100010 2 ), поэтому старший разряд суммы оказывается в знаковом разряде. Это вызывает несовпадение знака суммы и знаков слагаемых , что является свидетельством переполнения разрядной сетки .
6. А и В отрицательные, сумма абсолютных величин А и В больше, либо равна 2 n1 . Например:
В результате сложения отрицательных чисел получен результат > 0!
Здесь знак суммы тоже не совпадает со знаками слагаемых, что свидетельствует о переполнении разрядной сетки.
Сложение дополнительных кодов . Здесь также имеют место рассмотренные выше шесть случаев:
1. А и В положительные. Здесь нет отличий от случая 1, рассмотренного для обратного кода (коды неотрицательных чисел совпадают).
2. А положительное, B отрицательное и по абсолютной величине больше, чем А.
Например:
Получен правильный результат в дополнительном коде. При переводе в прямой код биты цифровой части результата инвертируются и к младшему разряду прибавляется единица: 1 0000110 + 1 = 1 0000111 = 7
10
.
3. А положительное, B отрицательное и по абсолютной величине меньше, чем А. Например:
Получен правильный результат. Единицу переноса из знакового разряда компьютер отбрасывает .
4. А и В отрицательные.
Например:
Получен правильный результат в дополнительном коде. Единицу переноса из знакового разряда компьютер отбрасывает .
Случаи переполнения
Для обнаружения переполнения разрядной сетки знаковый разряд дублируется . Такое представление чисел называется модифицированным дополнительным кодом:
1) 65 00 100 0001
+ 97 + 00 110 0001
162 01 010 0010
Разные цифры в знаковых разрядах свидетельствуют о том, что произошло переполнение.
2) -65 11 011 1111
+ -97 + 11 001 1111
-162 10 101 1110
Переполнение!
Для проверки знаковых разрядов используют результат операции “исключающее ИЛИ”, которая дает значение 1 только если операнды различны.
Сравнение рассмотренных форм кодирования целых чисел со знаком показывает:
на преобразование отрицательного числа в обратный код компьютер затрачивает меньше времени, чем на преобразование в дополнительный код, так как последнее состоит из двух шагов образования обратного кода и прибавления единицы к его младшему разряду;
время выполнения сложения для дополнительных кодов чисел меньше, чем для их обратных кодов, потому что в таком сложении нет переноса единицы из знакового разряда в младший разряд результата, поэтому для ускорения выполнения расчетов используют дополнительный код .
Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливающим сумматором, который до начала выполнения операции содержит число ноль. В процессе выполнения операции в нем поочередно размещаются множимое и результаты промежуточных сложений, а по завершении операции окончательный результат.
Другой регистр АЛУ, участвующий в выполнении этой операции, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число уменьшается, пока не достигнет нулевого значения.
Для иллюстрации умножим 110011 2 на 101101 2 .
Деление для компьютера является трудной операцией. Обычно оно реализуется путем многократного прибавления к делимому дополнительного кода делителя.
Формат с плавающей точкой использует представление вещественного числа R в виде произведения мантиссы m на основание системы счисления q в некоторой целой степени p , которую называют порядком: R = m * q p .
Представление числа в форме с плавающей точкой неоднозначно. Например, справедливы следующие равенства:
12.345 = 0.0012345 * 10 4 = 1234.5 * 10 -2 = 0.12345 * 10 2
Чаще всего в ЭВМ используют нормализованное представление числа в форме с плавающей точкой. Мантисса в таком представлении должна удовлетворять условию: 0.1 p <= m < 1. Иначе говоря, мантисса должна быть меньше 1 и первая значащая цифра - не ноль (p - основание системы счисления).
В памяти компьютера мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся), так для числа 12.345 в ячейке памяти, отведенной для хранения мантиссы, будет сохранено число 12345. Для однозначного восстановления исходного числа остается сохранить только его порядок, в данном примере - это 2.
Диапазон и точность представления чисел зависят от числа разрядов, отводимых под порядок и мантиссу. Обычно число в формате с плавающей запятой занимает в памяти 4 (float ) или 8 (double ) байтов.
В большинстве вычислительных машин для упрощения операций над порядками их приводят к целым положительным числам, применяя так называемый смещенный порядок . Для этого к истинному порядку добавляется целое положительное число, равное половине представимого диапазона порядков.
Числа с плавающей запятой в разных вычислительных машинах (ВМ) имеют различные форматы. В настоящее время для всех ВМ рекомендован стандарт, разработанный международным центром стандартизации IEEE (In stitute of Electrical and Electronics Engineers ).
Стандарт IEEE 754
Рекомендуемый для всех ВМ формат представления чисел с плавающей запятой определен стандартом IEEE 754. Этот стандарт был разработан с целью облегчить перенос программ с одного процессора на другие и нашел широкое применение практически во всех процессорах и арифметических сопроцессорах.
Рис. 2.24. Основные форматы IEEE 754: а одинарный; б двойной
Стандарт определяет 32-битовый (одинарный) и 64-битовый (двойной) форматы (рис. 2.24) с 8- и 11-разрядным порядком соответственно. Самый левый бит хранит знак числа. Основанием системы счисления является 2.
Смещение равно соответственно 127 и 1023.
Максимальный порядок, который может иметь число: 127 и 1023.
Для повышения точности представления мантиссы используют прием скрытой единицы: поскольку в нормализованной мантиссе старшая цифра всегда равна 1, ее можно не хранить. Следовательно, при 4-хбайтовом представлении, мантисса фактически состоит из 24 разрядов. Скрытая единица при выполнении арифметических операций восстанавливается, а при записи результата удаляется.
Пример: рассмотрим 4-хбайтовый код числа 20.5:
20.5 = 10100.1 2 = 0.101001 * 2 5
Порядок (смещенный): 5+127 = 132 = 1000 0100 2
Мантисса: 101001 010010…0 (первая единица скрытая, в конец мантиссы добавляются нули).
4-хбайтовое представление:
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
порядок мантисса
В 16-ом виде этот код будет выглядеть так: 42240000.
Определим максимальное число и его точность при 4-хбайтовом представлении.
Максимальное число:
.1…1 * 2 127 = 1 * 2 127 = 1.7 * 10 38
Максимальное значение мантиссы:
1…1 (24 единицы) = 2 24 1 = 2 10*2.4 = 1024 2.4 = 1.7*10 7 , следовательно точность представления мантиссы 7-8 значащих цифр.
Сложение и вычитание
Производятся в несколько этапов:
Пример 1: Вычесть из числа A = 20.0 число B = 11.0.
A = 20 = 10100 2 = .101 * 2 5 = .101 * 10 101 (все числа двоичные)
B = 11 = 1011 2 = .1011 * 2 4 = .1011 * 10 100
A порядок числа B и получает 1. Т.к. порядок числа A на единицу больше порядка числа B , порядок числа B увеличивается на 1 и мантисса при этом сдвигается на 1 разряд вправо относительно точки:
B = .01011 * 10 101
Мантисса числа B должна быть записана как отрицательное число (нужно выполнить вычитание):
B = -010110…0 = 1| 101001…1 = 1 | 101010…0
Обратный код Дополнительный
Сложение мантисс в модифицированном дополнительном коде:
00| 1010 00…0 (число A )
+ 11| 1010 10…0 (число B )
1 | 00| 0100 10…0 (сумма, порядок = 101 2 )
Нормализация результата: мантисса сдвигается влево, порядок уменьшается: A - B = .1001* 10 100 = 1001 2 = 9.0
Пример 2: Сложить A = 5.0 и B = 28.0.
A = 5 = 101 2 = .101 * 2 5 = .101 * 10 11 (все числа двоичные)
B = 28 = 11100 2 = .111 * 2 5 = .111 * 10 101
Процессор для определения разности порядков вычитает из порядка числа A порядок числа B и получает -2. Т.к. порядок числа A на 2 меньше порядка числа B , порядок числа A увеличивается на 2 и мантисса при этом сдвигается на 2 разряда вправо относительно точки:
A = .00101 * 10 101
Сложение мантисс в модифицированном коде:
00| 0010 10…0 (число A )
+ 00 | 1110 00…0 (число B )
01| 0000 10…0 (сумма, порядок = 101 2 )
Произошло нарушение нормализации.
Нормализация результата: мантисса сдвигается вправо, порядок увеличивается: A + B = .100001* 10 110 = 100001 2 = 33.0
При сложении и вычитании чисел с плавающей запятой при сложении мантисс переполнение не фиксируется. Переполнение может возникнуть в процессе нормализации, если порядок превысит максимально допустимый.
Умножение и деление
При умножении чисел в формате с плавающей запятой порядки складываются, а мантиссы перемножаются, затем результат нормализуется.
При делении из порядка делимого вычитается порядок делителя, а мантисса делимого делится на мантиссу делителя, затем результат нормализуется.
Двоично-десятичный код (binary-coded decimal ) форма записи целых чисел, когда каждый десятичный разряд числа записывается в виде его четырёхбитного двоичного кода (вместо каждой десятичной цифры записывают ее двоичное значение) . Например, десятичное число 310 будет записано в двоичном коде как 100110110 2 , а в двоично-десятичном коде как 0011 0001 0000 BCD .
Преимущества
По этим причинам двоично-десятичный формат применяется в калькуляторах калькулятор в простейших арифметических операциях должен выводить в точности такой же результат, какой подсчитает человек на бумаге.
Недостатки
Запрещённые в BCD битовые комбинации:
1010 1011 1100 1101 1110 1111
Запрещённые комбинации возникают обычно в результате операций сложения, так как в BCD используются только 10 возможных комбинаций 4-х битового поля вместо 16. Поэтому, при сложении и вычитании чисел формата BCD действуют следующие правила:
Пример операции сложения двоично-десятичных чисел:
Требуется : Найти число A = D + C, где D = 3927, C = 4856
Решение : Представим числа D и C в двоично-десятичной форме: D = 3927 = 0011 1001 0010 0111 C = 4856 = 0100 1000 0101 0110
Суммируем числа D и С по правилам двоичной арифметики:
* **
0011 1001 0010 0111
+ 0100 1000 0101 0110
___________________
= 1000 0001 0111 1101 - Двоичная сумма
+ 0110 0110 - Коррекция
___________________
1000 0111 1000 0011
"*" тетрада, из которой был перенос в старшую тетраду
"**" тетрада с запрещённой комбинацией битов
В тетраду, помеченую символом *, добавляем шестёрку т.к по правилам двоичной арифметики перенос унёс с coбой 16, а по правилам десятичной арифметики должен был унести 10. В тетраду, помеченую символом ** , добавляем шестёрку, так как комбинация битов 1101 (что соответствует десятичному числу 13) является запрещённой.
Знак
«Позиционные и непозиционные системы счисления» - Поэтому преимущественное применение получили позиционные системы счисления. На практике используют сокращенную запись чисел: А= anan-1 ... a1a0a-1... a-m. Основные недостатки непозиционных систем счисления: Примеры развернутой формы записи чисел в позиционных системах счисления. Например, умножить: XXXII и XXIV.
«Перевод систем счисления» - Перевод чисел из 10-ой системы счисления в 2-ую. 2E. 01. Десятичная. 2. Перевод целых чисел в 2, 8, 16-ю системы счисления. 1 способ. 8.
«Разные системы счисления» - Арифметические операции в двоичной СС. Правила сложения и умножения. Непозиционные системы счисления. Домашнее задание. Позиционные Системы счисления. Например, IX - обозначает 9, XI - обозначает 11. Система счисления. Практическое задание: Подведение итогов урока, домашнее задание. Для записи промежуточных чисел римляне использовали не только сложение, но и вычитание.
«Запись систем счисления» - Непозиционные системы счисления. Да, можно: Позиционные системы счисления. Виды систем счисления. 333. Система счисления – это… Сухоногово 2005. … Способ записи чисел (1, 221, XIX, 10200). МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Муниципальная общеобразовательная Чернопенская средняя школа.
«Системы счисления урок» - Часы работают в двенадцатиричной СС. Двоичная арифметика (8 сс). А посуду, постельное белье мы считаем дюжинами (12 предметов). Число месяцев в году тоже равно 12. Перевод чисел из 2 сс в 10 сс? Как работает человек? . Представление информации. III, VVV. Перевод чисел из 10 сс в 2 сс? Урок 5. Системы счисления.
«Двоичная система» - Двоичная система счисления. Вильгельм Готфрид Лейбниц (1646-1716). Переведем число 121 в двоичную систему счисления. 1 способ – метод разностей. 1, 2, 4, 8, 16, 32, 64, 128,... Любое десятичное число можно представить в виде суммы слагаемых ряда: Перевод целых десятичных чисел в двоичный код.
Всего в теме 13 презентаций
а) из 10–ой с/с в 2–ую систему счисления: 165; 541; 600; 720; 43,15; 234,99.
б) из 2–ой в 10–ую систему счисления: 110101 2 ; 11011101 2 ; 110001011 2 ; 1001001,111 2
в) из 2–ой с/с в 8–ую,16–ую с/с:
100101110 2 ; 100000111 2 ; 111001011 2 ; 1011001011 2 ; 110011001011 2 ; 10101,10101 2 ; 111,011 2
г) из 10–ой с/с в 8–ую, 16–ую с/с: 69; 73; 113; 203; 351; 641; 478,99; 555,555
д) из 8–ой с/с в 10–ую с/с: 35 8 ; 65 8 ; 215 8 ; 327 8 ; 532 8 ; 751 8 ; 45,454 8
е) из 16–ой с/с в 10–ую с/с: D8 16 ; 1AE 16 ; E57 16 ; 8E5 16 ; FAD 16 ; AFF,6A7 16
2. Выпишите целые десятичные числа, принадлежащие следующим чсловым промежуткам:
3. Выполнить операции:
а) сложение в двоичной системе счисления
10010011 2 + 1011101 2 + 10110011 2 +10111001,1 2
1011011 2 11101101 2 1010101 2 10001101,1 2
б) вычитание в 2–ой системе счисления
– 100001000 2 – 110101110 2 – 11101110 2 -10111001,1 2
10110011 2 10111111 2 1011011 2 10001101,1 2
в) умножение в 2–ой системе счисления
´ 100001 2 ´ 100101 2 ´ 111101 2 ´ 11001,01 2
111111 2 111011 2 111101 2 11,01 2
г) деление в 2–ой системе счисления
1) 111010001001 2 / 111101 2
2) 100011011100 2 / 110110 2
3) 10000001111 2 / 111111 2
д) сложение 8–ых чисел
715 8 + 524 8 + 712 8 + 321 8 + 5731 8 + 6351 8
73 8 57 8 763 8 765 8 1376 8 737 8
е) вычитание 8–ых чисел
– 137 8 – 436 8 – 705 8 – 538 8 – 7213 8
72 8 137 8 76 8 57 8 537 8
ж) сложение 16–ых чисел
А13 16 + F0B 16 + 2EA 16 + ABC 16 + A2B 16
16F 16 1DA 16 FCE 16 C7C 16 7F2 16
з) вычитание 16–ых чисел
– À17 16 – DFA 16 – FO5 16 – DE5 16 – D3C1 16
1FС 16 1AE 16 AD 16 AF 16 D1F 16
4. Вычислите выражение:
(1111101 2 + AF 16) / 36 8 ; 125 8 + 11101 2 ´ A2 16 / 1417 8
ЛАБОРАТОРНАЯ РАБОТА 1. Системы счисления
Система счисления, или просто счисление, или нумерация,- набор конкретных знаков–цифр вместе с системой приемов записи, которая представляет числа этими цифрами.
Цель работы – приобретение навыков выполнения операций в различных системах счисления.
Основные понятия систем счисления
Система счисления - это совокупность правил и приемов записи чисел с помощью набора цифровых знаков. Количество цифр, необходимых для записи числа в системе, называют основанием системы счисления. Основание системы записывается в справа числа в нижнем индексе: .
Различают два типа систем счисления:
Позиционные, когда значение каждой цифры числа определяется ее позицией в записи числа;
Непозиционные, когда значение цифры в числе не зависит от ее места в записи числа.
Примером непозиционной системы счисления является римская: числа IX, IV, XV и т.д. Примером позиционной системы счисления является десятичная система, используемая повседневно.
Любое целое число в позиционной системе можно записать в форме многочлена:
где - основание системы счисления;
Цифры числа, записанного в данной системе счисления;
n - количество разрядов числа.
Пример. Число запишется в форме многочлена следующим образом:
Десятичная система счисления – в настоящее время наиболее известная и используемая. неправильное название удерживается и поныне.
Десятичная система использует десять цифр -– 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9, а также символы “+” и “–” для обозначения знака числа и запятую или точку для разделения целой и дробной частей числа.
В вычислительных машинах используется двоичная система счисления, её основание - число 2. Для записи чисел в этой системе используют только две цифры - 0 и 1.
Таблица 1. Соответствие чисел, записанных в различных системах счисления
Десятичная | Двоичная | Восьмеричная | Шестнадцатеричная |
A | |||
B | |||
C | |||
D | |||
E | |||
F | |||
Правила перевода чисел из одной системы счисления в другую
Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.
1. Для перевода двоичного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 2, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней двойки:
Таблица 2. Степени числа 2
n | |||||||||||
2. Для перевода восьмеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 8, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней восьмерки:
Таблица 3.4. Степени числа 8
n | |||||||
Пример. Число перевести в десятичную систему счисления.
3. Для перевода шестнадцатеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 16, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней числа 16:
Таблица 3. Степени числа 16
n | |||||||
Пример. Число перевести в десятичную систему счисления.
4. Для перевода десятичного числа в двоичную систему его необходимо последовательно делить на 2 до тех пор, пока не останется остаток, меньший или равный 1. Число в двоичной системе записывается как последовательность последнего результата деления и остатков от деления в обратном порядке.
5. Для перевода десятичного числа в восьмеричную систему его необходимо последовательно делить на 8 до тех пор, пока не останется остаток, меньший или равный 7. Число в восьмеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
6. Для перевода десятичного числа в шестнадцатеричную систему его необходимо последовательно делить на 16 до тех пор, пока не останется остаток, меньший или равный 15. Число в шестнадцатеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
7. Чтобы перевести число из двоичной системы в восьмеричную, его нужно разбить на триады (тройки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую триаду нулями, и каждую триаду заменить соответствующей восьмеричной цифрой (табл. 3).
Пример. Число перевести в восьмеричную систему счисления.
8. Чтобы перевести число из двоичной системы в шестнадцатеричную, его нужно разбить на тетрады (четверки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую тетраду нулями, и каждую тетраду заменить соответствующей восьмеричной цифрой (табл. 3).
Пример. Число перевести в шестнадцатеричную систему счисления.
9. Для перевода восьмеричного числа в двоичное необходимо каждую цифру заменить эквивалентной ей двоичной триадой.
Пример. Число перевести в двоичную систему счисления.