Перед математиками и
конструкторами в 50-х годах XX столетия встала
задача найти такие системы счисления, которые бы
отвечали требованиям разработчиков ЭВМ и
программного обеспечения. В результате были
созданы “машинные” системы счисления:
- двоичная;
- восьмеричная;
- шестнадцатеричная.
Каждая из этих систем использует определенный
набор символов языка, которыми записываются
данные - символы алфавита.
В двоичной системе счисления их всего два: 0 и
1.
В восьмеричной системе их восемь:
0,1,2,3,4,5,6,7.
В шестнадцатеричной - шестнадцать: арабские
цифры 0-9, и символы латинского алфавита от А до
F. Причем символ А соответствует 10, В =11 и т.д
, F=15.
Каждая система счисления из
машинной группы применяется в различных случаях,
а именно, двоичная – для организации
преобразования информации, восьмеричная и
шестнадцатеричная – для представления машинных
кодов в удобном виде.
Десятичная система применяется для ввода данных
и вывода на устройства печати и на экран
дисплея.
Двоичная система счисления
Обработка информации в ПК основа
на обмене электрическими сигналами между
различными устройствами компьютера. Эти сигналы
возникают в определенной последовательности. ПК
“различает” два уровня этих сигналов – высокий
(1) и низкий (0). Таким образом, любая
информация в вычислительной технике
представляется как набор (код) двух символов 0 и
1. Каждый такой набор нулей и единиц называется
двоичным кодом. Количество информации,
кодируемое двоичной цифрой – 0 или 1 –
называется битом. Бит является единицей
измерения информации.
Двоичная система счисления
обладает такими же свойствами, что и десятичная,
только для представления чисел используется не
10 цифр, а всего 2. Эта система счисления тоже
является позиционной.
Официальное рождение двоичной
арифметики связано с именем Г.В. Лейбница,
опубликовавшего в 1703 г. статью, в которой он
рассмотрел правила выполнения арифметических
действий над двоичными числами.
Из истории известен курьезный случай с
восьмеричной системой счисления. Шведский король
Карл XII в 1717 году увлекался восьмеричной
системой счисления, считал ее более удобной, чем
десятичная, и намеревался королевским приказом
ввести ее как общепринятую. Неожиданная смерть
короля помешала осуществить столь необычное
намерение.
Восьмеричная и шестнадцатиричная
системы счисления
Двоичные числа – длинные
последовательности 0 и 1 – очень неудобны для
восприятия. В связи с этим двоичные числа стали
разбивать на группы по три (триада) или четыре
(тетрада) разряда. Из трех нулей и единиц можно
составить восемь различных двоичных чисел, а из
четырех – шестнадцать. Для кодирования 3 бит
требуется 8 цифр, и поэтому взяли цифры от 0 до
7, т.е. в соответствии с определением получили
алфавит 8-ной системы счисления.
Восьмеричный алфавит |
Двоичное число (триада) |
0 |
000 |
1 |
001 |
2 |
010 |
3 |
011 |
4 |
100 |
5 |
101 |
6 |
110 |
7 |
111 |
Для кодирования 4 бит необходимо
16 знаков, для чего используются 10 цифр
десятичной системы и 6 первых букв латинского
алфавита.
Шестнадцатеричный алфавит |
Двоичное число (тетрада) |
0 |
0000 |
1 |
0001 |
2 |
0010 |
3 |
0011 |
4 |
0100 |
5 |
0101 |
6 |
0110 |
7 |
0111 |
8 |
1000 |
9 |
1001 |
A |
1010 |
B |
1011 |
C |
1100 |
D |
1101 |
E |
1110 |
F |
1111 |
Представление чисел в различных
системах счисления
10-ная
|
2-ная |
8-ная |
16-ная |
0 |
00 |
0 |
0 |
1 |
01 |
1 |
1 |
2 |
10 |
2 |
2 |
3 |
11 |
3 |
3 |
4 |
100 |
4 |
4 |
5 |
101 |
5 |
5 |
6 |
110 |
6 |
6 |
7 |
111 |
7 |
7 |
8 |
1000 |
10 |
8 |
9 |
1001 |
11 |
9 |
10 |
1010 |
12 |
A |
11 |
1011 |
13 |
B |
12 |
1100 |
14 |
C |
13 |
1101 |
15 |
D |
14 |
1110 |
16 |
E |
15 |
1111 |
17 |
F |
ПЕРЕВОД ЧИСЕЛ ИЗ N-РИЧНОЙ
СИСТЕМЫ В ДЕСЯТИЧНУЮ
Перевод чисел из одной системы счисления в
другую выполняет компьютер. Эти операции
выполняются по определенным правилам.
Перевод числа из двоичной системы
счисления в десятеричную:
1) пронумеровать двоичный код начиная с младшего
разряда (его номер равен 0) к старшему;
2) записать двоичное число как сумму
произведений веса каждого разряда на основание
системы счисления исходного числа (2) в степени,
соответствующей номеру разряда;
3) выполнить вычисление произведений и суммы.
Например,
1010112 = 1*25+0*24+1*23+0*22+1*21+1*20
= 32+0+8+0+2+1=4310
Перевод числа из любой n-ричной системы
счисления в десятеричную выполняется с описанным
выше правилом (следует учесть, что для каждой
системы счисления основание системы свое).
Задание:
Выполните перевод следующих чисел в десятичную:
123708 - ?10
ПЕРЕВОД ЧИСЕЛ ИЗ ДЕСЯТИЧНОЙ
СИСТЕМЫ В N-РИЧНУЮ
Перевод числа из десятеричной в
двоичную систему счисления:
1) выполнить последовательное
деление десятичного числа, а затем получаемых
целых частных на основание системы счисления, в
которую переводится число (2). Деление
выполняется в записью целого частного и целого
остатка от деления до тех пор, пока целое
частное не будет равно 0.
2) записать код числа, записывая остатки от
деления, начиная с последнего из целых остатков
(в обратном порядке) символами алфавита
требуемой системы счисления.
Например,4210
- ?2
4210 = 1010102 |
|
Перевод числа из десятеричной в
n-ричную систему счисления:
1) выполнить последовательное
деление десятичного числа, а затем получаемых
целых частных на основание системы счисления, в
которую переводится число (n). Деление
выполняется в записью целого частного и целого
остатка от деления до тех пор, пока целое
частное не будет равно 0.
2) записать код числа, записывая остатки от
деления, начиная с последнего из целых остатков
(в обратном порядке) символами алфавита
требуемой системы счисления.
Задание:
выполните перевод десятичных чисел 54 и 782
в 8-ричную и 16-ричную системы счисления каждое.
ПЕРЕВОД ЧИСЕЛ ИЗ ДВОИЧНОЙ СИСТЕМЫ
В ВОСЬМЕРИЧНУЮ И ШЕСТНАДЦАТЕРИЧНУЮ
Правило перевода чисел из
двоичной системы счисления в восьмеричную:
влево и вправо от запятой
двоичное число разбивается на двоичные триады,
при необходимости крайние группы дополняются
нулями; каждая триада заменяется соответствующей
цифрой восьмеричного алфавита (см. таблицу).
100010011,112
= ?8 |
100 |
010 |
011, |
1102
|
=423,68 |
|
4 |
2 |
3 |
6 |
|
Правило перевода чисел из
двоичной системы счисления в шестнадцатеричную:
влево и вправо от запятой
двоичное число разбивается на двоичные тетрады,
при необходимости крайние группы дополняются
нулями; каждая тетрада заменяется
соответствующей цифрой шестнадцатеричного
алфавита (см. таблицу).
11111100011,1010102
= ?16 |
0111 |
1110 |
0011, |
1010 |
1000 |
= 7Е3,А816 |
|
7 |
Е |
3 |
А |
8 |
|
При переводе чисел из
восьмеричной и шестнадцатеричной систем
счисления в двоичную достаточно заменить каждую
цифру соответственно двоичной триадой или
тетрадой. При этом незначащие нули
отбрасываются.
Примеры: 324,78 - ? 2
3 2 4, 78 = 11010100,1112
Е4А1, В516 - ?2
Е 4 А 1, В 516 =
1110010010100001,101101012
ПЕРЕВОД ЧИСЕЛ ИЗ ВОСЬМЕРИЧНОЙ И
ШЕСТНАДЦАТЕРИЧНОЙ СИСТЕМЫ В ДВОИЧНУЮ
При переводе чисел из
восьмеричной и шестнадцатеричной систем
счисления в двоичную достаточно заменить каждую
цифру соответственно двоичной триадой или
тетрадой. При этом незначащие нули
отбрасываются.
Примеры:
324,78 - ?
2 |
3 |
2 |
4, |
78 =
|
11010100,1112 |
|
|
011 |
010 |
100 |
111 |
|
|
Е4А1, В516 - ?2 |
Е |
4 |
А |
1, |
В |
516 = |
1110010010100001,101101012 |
|
1110 |
0100 |
1010 |
0001 |
1011 |
0101 |
|
АРИФМЕТИЧЕСКИЕ ДЕЙСТВИЯ В
ДВОИЧНОЙ СИСТЕМЕ
С цифрами двоичного числа можно
выполнять арифметические операции. При этом
выполняются правила двоичной арифметики:
0+0=0 |
0*0=0 |
1+0=1 |
1*0=0 |
0+1=1 |
0*1=0 |
1+1= 0 (+ перенос единицы
в старший разряд) |
1*1= 1 |
Все арифметические операции над
двоичными числами можно свести к 2-м операциям:
сложению и сдвигу кодов. Это позволяет
технически реализовать четыре арифметических
действия в одном арифметико-логическом
устройстве, используя одни и те же электронные
схемы. Впрочем, и в десятичной арифметике в
конечном итоге выполняются те же действия –
сложение и сдвиг.
Cложение двоичных чисел
Выполним сложение двух двоичных
чисел 110012 и 100012
+ |
|
1 |
1 |
0 |
0 |
1 |
|
|
1 |
0 |
0 |
0 |
1 |
|
1 |
0 |
1 |
0 |
1 |
0 |
Задание:
Самостоятельно выполните сложение двоичных
чисел:
111002 и 100111112
Вычитание двоичных чисел
Вычитание – обратная операция
сложению так же может быть представлена в виде
сложения, но только с отрицательным числом.
Выполним вычитание двух двоичных чисел 110012
и 100012
- |
1 |
1 |
0 |
0 |
1 |
|
1 |
0 |
0 |
0 |
1 |
|
|
1 |
0 |
0 |
0 |
Задание:
выполните вычитание двух чисел 1011102
и 10012
Умножение и деление двоичных
чисел
Умножение и деление производится
поразрядно и сводятся к двум операциям: сложению
и сдвигу.
Выполним умножение двоичных чисел 110012 и 10012
|
|
|
|
* |
1 |
1 |
0 |
0 |
1 |
|
|
|
|
|
|
1 |
0 |
0 |
1 |
|
|
|
|
|
1 |
1 |
0 |
0 |
1 |
|
|
|
|
0 |
0 |
0 |
0 |
0 |
|
|
|
|
0 |
0 |
0 |
0 |
0 |
|
|
|
|
1 |
1 |
0 |
0 |
1 |
|
|
|
|
|
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
Задание:
самостоятельно перемножьте числа 11102
и 100012
Деление так же можно представить
как выполнение операций сложения и сдвига.
Задание:
выполните самостоятельно деление двоичного числа
1100110 на двоичное число 110
АРИФМЕТИЧЕСКИЕ ДЕЙСТВИЯ В
ВОСЬМЕТИЧНОЙ И ШЕСТНАДЦАТИРИЧНОЙ СИСТЕМЕ
Сложение и вычитание в 8-ной и
16-ной системах счисления
При выполнении действий сложения
и вычитания в 8-ной системе счисления необходимо
помнить:
в записи результатов сложения и вычитания могут
быть использованы только цифры восьмеричного
алфавита;
основание восьмеричной системы счисления равен
8, т.е. переполнение наступает, когда результат
сложения больше или равен 8. В этом случае для
записи результата надо вычесть 8, записать
остаток, а к старшему разряду прибавить единицу
переполнения;
если при вычитании приходится занимать единицу в
старшем разряде, эта единица переносится в
младший разряд в виде 8 единиц.
Примеры.
Сложить восьмеричные числа 7708 и 2368
.
|
|
1 |
1 |
|
|
+ |
7 |
7 |
0 |
|
|
2 |
3 |
6 |
|
1 |
2 |
2 |
6 |
Примеры на закрепление: выполнить
действия в восьмеричной системе счисления.
7158 + 3738
5248 + 578
Выполнить вычитание восьмеричных
чисел 7508 и 2368.
Примеры на закрепление: выполнить
действия в восьмеричной системе счисления.
1378 - 72,38
4368 - 2578
При выполнении действий сложения
и вычитания в 16-ной системе счисления
необходимо помнить:
в записи результатов сложения и вычитания могут
быть использованы только цифры
шестнадцатеричного алфавита (0-9, A-F)
Основание шестнадцатеричной системы счисления
равно 16, т.е. переполнение наступает, когда
результат сложения больше или равен 16. В этом
случае для записи результата надо вычесть 16,
записать остаток, а к старшему разряду прибавить
единицу переполнения;
если при вычитании приходится занимать единицу в
старшем разряде, эта единица переносится в
младший разряд в виде 16 единиц.
Примеры.
Сложить шестнадцатеричные числа B0916
и EFA16
|
|
1 |
1 |
|
|
+ |
B |
0 |
9 |
|
|
E |
F |
A |
|
1 |
A |
0 |
3 |
Примеры на закрепление: выполнить
действия в шестнадцатеричной системе счисления.
A1316 + 1CF16
F0B,816 + 1DA,C116
Выполнить вычитание
шестнадцатеричных чисел B0916 и 7FA16.
|
|
10 |
15 |
16 |
|
_ |
B |
0 |
9 |
|
|
7 |
F |
A |
|
|
3 |
0 |
F |
Примеры на закрепление: выполнить
действия в шестнадцатеричной системе счисления.
A1316 - 1CF16
DFA,B816 - 1AE,9416