|
В начало
Системы счисления (Лекция) Система
счисления - это совокупность приёмов и правил изображения чисел цифровыми
знаками. Системы
счисления делятся на позиционные и непозиционные. Непозиционная
система счисления - это система, в которой значение символа не
зависит от его положения в числе. Примером непозиционной системы счисления
является римская система счисления (IV,
V, VI). Позиционная
система счисления - это система, в которой значение символа
зависит от его места (или позиции) в ряду цифр, изображающих данное число. Всё
число делится на разряды. Позиционная система характеризуется основанием или
базисом. Основание позиционной системы - это
количество знаков или символов, используемых для изображения числа в разрядах
данной системы счисления. Основными
характеристиками позиционной системы являются: 1. Количество цифр системы равно её основанию. 2. Наибольшая цифра на единицу меньше основания. 3. Каждая цифра числа умножается на основание в
степени, значение которой определяется положением цифры в числе. Число М =
М1+М2 представляется в виде: , b - основание системы счисления; а
- значение разряда; n - число разрядов целой части; m - число разрядов дробной части; bi - вес разряда, который равен основанию
степени, равной номеру разряда без единицы.
Изображение числа в
различных системах счисления Для отличия чисел различных систем счисления
используются различные способы написания: 12510 = 125D (десятичная); 1258 = 125Q (восьмеричная); 12516 = 125H (шестнадцатеричная); 1012 = 101B (двоичная). Число Z=126,25D можно представить в виде равенства: -
десятичная
система ; -
двоичная
система , ; -
шестнадцатеричная
система , . Наиболее широко
используется десятичная система счисления, а все современные вычислительные
средства работают на базе двоичной системы. Использование двоичной системы
счисления при построении вычислительных устройств объясняется следующими причинами: 1) в двоичной системе легче различить 2
состояния, чем, например, 10 десятичных; 2) большинство физических величин имеет два
состояния: потенциал высокий или низкий; выключатель включен или выключен; ток
есть или нет; 3) реализовать цифровую схему, имеющую два
состояния значительно легче. Недостатком
двоичной системы счисления является то, что в ней необходимо использовать значительно
большее число разрядов, чем, например в десятичной, т.е. очень неудобная
запись. Для облегчения записи двоичных чисел может быть использована
восьмеричная система счисления, так как основанием этой системы является 8=23.
Для перевода двоичных чисел в восьмеричные необходимо разбить двоичное число на
трех битовые группы, каждую из которых можно представить в виде одной
восьмеричной цифры. Например, . Наряду
с восьмеричным представлением двоичных чисел широкое распространение получили
двоично-десятичная система и шестнадцатеричная система счисления (DDK, BCD).
Двоично-десятичный код ориентирован на десятичное основание системы и может
быть непосредственно преобразован в десятичные числа. Двоично-десятичный код
образуется заменой каждого десятичного разряда в десятичном числе 4-х битовым
двоичным представлением этого разряда. Например, (BCD(DDK)).
Шестнадцатеричное представление двоичных чисел есть расширенное
двоично-десятичное представление, использующее дополнительные 6 символов 4-х битовых
групп: А=10, В=11, С=12, D=13, E=14, F=15. Например, 1F H=31D. Арифметические
операции в различных системах
счисления над числами без знаков Все
арифметические операции во всех системах счисления выполняются аналогично
операциям в десятичной системе счисления, но необходимо помнить чему равно основание
системы счисления, и что число цифр в каждом разряде на единицу меньше, чем
основание. 1. Сложение 1.1 Двоичная система счисления 0+0=0 0+1=1 1+0=1 1+1=[1]
0, 1+1+1=[1] 1, где [1] - перенос +11011
1111 101010 1.2
Восьмеричная система счисления +157 Q 376
Q
555 Q 1.3
Шестнадцатеричная система счисления +1F7 H D3E H
F35
H 2. Вычитание 2.1 Двоичная система счисления 1-0=1 0-1=[1] 1, где [1]- заем -10002
1112 0001
2.2
Восьмеричная система счисления -1101 Q
777 Q
102 Q 2.3
Шестнадцатеричная система счисления -1DE H FF H
DF H 3. Умножение 3.1 Двоичная система счисления 1×1=1 1×0=0 ´101
11 +101 101 1111 3.2
Восьмеричная система счисления ´ 27 Q
35 Q
+163 Q
105
1233 Q 3.3
Шестнадцатеричная система счисления ´1F H A H
136 H
4. Деление 4.1 Двоичная система счисления -1111
101
101 11
-101
101 0 4.2
Восьмеричная система счисления 16
Q 2 16 7 0 4.3 Шестнадцатеричная система счисления 1E H 2 1E F 0 Преобразование кодов Правила
преобразования для целых и дробных чисел имеет свои особенности: полное
представление двоичного числа или кода получают путем объединения целых и дробных
частей числа и указания места запятой. Перевод десятичных
чисел в двоичные, восьмеричные 1. Целая часть Повторное деление данного десятичного числа
на основание, остатки дают преобразованное число, читаемое в направлении снизу
вверх. 1) 10-ое ® 2-ое ост. 36:2=18 0 18:2=9
0 9:2=4 1
3610=1001002 4:2=2
0 2:2=1
0 1:2=
1 ост. 124:2=62 0 62:2=31 0 32:2=15 1
12410=11111002 15:2=7 1 7:2=3 1 3:2=1 1 1:2= 1 2) 10ое® 8ое ост. 36:8=4 4 4:8=
4 3610=448 3) 10ое® 16ое ост. 36:16=2 4 2:16= 2
3610=24 H ост. 124:16=7 C 7:16= 7
12410=7C
H 2. Преобразование
дробных десятичных чисел в двоичные, восьмеричные, шестнадцатеричные коды Повторное
умножение данного десятичного числа на основание. Разряд перед запятой дает
разряд преобразованного числа, при последующем умножении используется лишь
дробная часть промежуточного результата. 1) 0,375 D® B
(двоичная система) 0,375´2=0,75 0 0,75´2=1,5 1
0,375 D=0,0112 1,5´2=1,0 1 2) 0,375 D®Q 0,375´8=3,0 3
0,375 D=0,38=0,3Q 3)0,375 D®H 0,375´16=6,0 6
0,375 D=0,6 H Методы
преобразования кодов в десятичные 1. Целая
часть Повторное умножение промежуточного результата
на основание и сложение его со значением разряда данного числа. Первым
промежуточным результатом является наивысший разряд. 1) 1101002 ® D 1 1 1×2+1 3 3×2+0 6 6×2+1 13 13×2+0 26 26×2+0 52
32 16 8 4
2 1
1 1 0
1 0 0
1101002 = 52 D 2) 154 Q® D 1 1 1×8+5 13 13×8+4 108 1 5 4 Q=108 D 3) 1AF H® D 1 1 1×16+A 26 26×16+F 431 1 A F H=431 D 2. Перевод
дробных кодов в десятичные Повторное
деление суммы промежуточного результата и значения разряда данного числа на
основание. Первым промежуточным результатом является младший разряд, делённый
на основание. 1) 0®D 1:2=0,5 +0,5:2=0,75 +0,75:2=0,875 0, 1 1
1
0,1112=0,875D 2) Q®D 1:8=0,125 +0,125:8=0,64 +0,64:8=0,455 0, 3 5
1 0,3518=0,455D
3) H®D A:16=0,625 +0,625:16=0,101 0, 1 A 0,1A16=0,101D
Общее
правило В
общем случае перевод целого числа из одной системы счисления в другую производится
методом повторного деления данного числа на основание той системы, в которую
оно переводится. Деление выполняют в системе счисления, в которой записано подлежащее
преобразованию число. Основание записывают в системе счисления преобразуемого
числа. Результат также записывают в системе преобразуемого числа. 1) 154Q®D
154
12 12 12 12 34 12
1 12 24 0 1 0 10 8
0 1 1548 = 10810 2) 100002®D 10000 1010 1010
1 1010
110 1 100002
=1610 По
общему правилу перевод дробной части числа из одной системы счисления в другую
производится последовательным умножением числа на основание преобразованного
числа. Умножение производится в системе счисления преобразуемого числа,
основание и результат записываются в системе счисления преобразуемого числа.
Умножению подвергаются только дробные части промежуточных результатов. Целая
часть до запятой представляет собой разряды преобразуемого числа, записанные в
системе счисления преобразуемого числа.
0,752Q®D 0,752 ´ 12
11 444 5 550 7 02 1) ´ 0,752
12
1724 752
11,444 2) ´ 0,444
12
1110 444
5,550 3) ´ 0,55
12
132 55
7,02 0,752 Q = 0,957 D Кодирование чисел в
вычислительных системах Все
системы счисления допускают использование как положительных, так и
отрицательных чисел, для обозначения которых в вычислительных системах
применяют знаковый разряд. В него для изображения положительного числа заносится
ноль, для изображения отрицательного числа заносится единица. Знаковый разряд
обычно стоит в начале разрядной сетки ЭВМ. Для представления двоичных чисел со
знаком применяют специальные коды: -
прямой; -
обратный; -
дополнительный. Прямым
кодом двоичного числа
называется n-разрядное число, у
которого один или два старших разряда есть знаковые, и записывается это число в
следующем виде: Прямой код определяется следующим выражением: , где А - вес знакового разряда. Для дробных чисел А=1, для целых чисел А=2n-1,
где n- число бит разрядной
сетки ЭВМ. Пример. n = 4 х
= -5
[-5]пр
= 23 + ï-5ï=13=1101 для
n = 5
[5]пр = 24 + ï-5ï=16 +5= 21=10101 Пример. n = 4 х
= -0,5 [-0,5]пр
= 1 + ï0,5ï=1,5=1100 В прямом коде 0 имеет два значения. Например,
для n=4 +0º0000 -0º1000 Обратным кодом двоичного числа называется n-разрядное число, у которого один или
несколько старших разрядов есть знаковые, и записывается оно в следующем виде: Обратный код положительного числа равен
прямому коду этого числа. Обратный код отрицательного числа
определяется выражениями: -
для
дробных чисел [X]обр = 2 - 2-(n-1) - |X|; -
для
целых чисел [X]обр = 2n -1 - |X|. Наиболее просто обратный код можно получить
следующим образом: 1. Записать исходное число в прямом коде
(знаковый разряд равен 1). 2. В цифровых разрядах поменять нули на единицы,
а единицы на нули. Пример. n = 4 х
= -5 [-5]пр
= 1101 [-5]обр
= 1010 [-5]обр
= 24-1-[5] = 16-1-5 = 10 =1010 Пример. Обратный код дробного числа: n = 4 х
= -0,5 [-0,5]обр
= 2-2-(4-1)-ï0,5ï=1,375=1011 0,375×2=0,75 0 0,75×2=1,5 1 0,5×2=1,0 1 Пример. n = 4 х
= +5 [5]обр
= [5]пр = 0101 Вес
знакового разряда отрицательного числа равен
- [2n-1 -1]. n=4, [+0]обр=0000, [-0]обр=1111. Перевод обратного кода в десятичный
производится следующим образом: 1. Образуем прямой код инвертированием цифровых
разрядов. 2. Значение знакового разряда (1) отбрасываем и
считаем, что это '' минус''. 3. Умножаем значение цифровых разрядов на их веса и произведения складываем. Перевод положительных чисел, записанных в
прямом и обратном кодах в десятичные числа, производится сложением произведений
значений цифровых разрядов на их веса. Пример: 1010 = - [23 - 1] + 0×22 + 1×21 + 0×20 =
-7 + 0 + 2 +0 = -5 В основном в вычислительных системах
используется дополнительный код. Дополнительным
кодом двоичного
числа называется n-разрядное
число, у которого один или два старших разряда есть знаковые, и записывается
это число в следующем виде: (n-1)
нулей Дополнительный код положительного числа равен
прямому коду данного числа. Дополнительный код отрицательного числа
образуется следующим образом: -
для дробных
чисел [X]доп = 2 - |X|; -
для
целых чисел [X]доп = 2n - |X|. Дополнительный код отрицательных чисел можно
получить по следующему правилу: 1. Записать число в обратном коде. 2. Прибавить к полученному результату 1. Пример. n = 4 х
= -5 [-5]обр
= 1010 [-5]доп
= 1011 È весовой знак (-2n-1)
n = 4
[+0]доп = 0000 [-0]доп = 0000 Для
перевода двоичного числа, записанного в дополнительном коде, в десятичное необходимо: 1. Определить знак числа. Если число
положительное - знаковый разряд равен нулю, то дополнительный код равен прямому
и для получения десятичного числа умножаем значения цифровых разрядов на их
веса, а потом произведения складываем. 2. Если число отрицательное (в знаковом разряде
стоит 1) необходимо проинвертировать цифровые разряды двоичного числа, к
полученному результату прибавить единицу, и тем самым получаем представление
числа в прямом коде, далее суммируя произведения значений весовых коэффициентов
на соответствующие разряды, получаем десятичное число. Представление двоичного числа в десятичном
коде можно получить, используя вес знакового разряда. Пример: 1011-доп.
1100 0001 1101
-(1×22+0×21+1×20)=-5 1101=
1×(-23) +0×22+1×21+ 1×20 =
-5 Арифметические
операции над числами со знаками Для
выполнения операций сложения и вычитания в цифровой системе, числа удобно
представить в обратном или дополнительном кодах, причём вычитание заменяется
сложением. Пример. n = 6 16-5=
16+(-5) [16]пр
= [16]обр =[16]доп =010000 [-5]пр
= 100101 [-5]обр
= 111010 [-5]доп
= 111011 1) В обратном коде 2) В дополнительном коде +010000 010000
111010 111011 1001010 1 001011 цикл +1 пер При
равенстве переносов в знаковый разряд и из знакового разряда переполнение
разрядной сетки ЭВМ - отсутствует. ZS + ZS+1
= 1 - условие переполнения разряда. Обратный и
дополнительный код десятичных чисел Обратный код Пример: [-595]обр = 1 404; ; [-595]пр = 1 595 Дополнительный код , где n - число десятичных разрядов. Пример: [-595]доп = 1 405 Арифметические
операции в двоично-десятичном коде В
двоично-десятичном коде из 4-х двоичных разрядов можно составить 16 комбинаций
(0000¸1111). Поскольку для представления десятичной цифры необходимо
только 10 комбинаций (0000¸1001), то следовательно 6 комбинаций двоичных цифр (1010¸1111) не
используется. В двоично-десятичном коде (DDK) перенос необходимо генерировать при десятом
отсчёте, поэтому при сложении в случае переноса добавляется 6. Шестёрка также
добавляется в случае появления запрещённой комбинации. Пример: +[-595]
[-0595]пр. = 10595 [-675]
[-0675]пр. = 10675 [-0595] пр. [-0595] обр. = 19404 DDK:
11001010000000100
[-0675] обр. = 19324 DDK: 11001001100100100 [-0595] доп. = 19405 DDK:
11001010000000101 [-0675] доп. = 19325 DDK:
11001001100100101 +
11001010000000100
11001001100100100
110010011100101000 + 0110 +1 1
1000 0111 0010 1001
1 8 7
2 9 (
"-" знак)
- 1 2
7 0 обратный код В
дополнительном коде + 1
1001 0100 0000 0101 1
1001 0011 0010 0101 1 1
0010 0111 0010 1010
0110 0110
1 1000 0111 0011 0000 1 8
7 3 0 ½10n - ½х½½= - 127 Двоично-десятичная
система кодирования В
декадных счётчиках, частотомерах, цифровых вольтметрах, датчиках положения скорости
используется двоично-десятичный код. В цифровых приборах для индикации используется
семи сегментный код, т.е. в цифровых приборах DDK работает в семи сегментный код. DDK каждая десятичная цифра представляется в
виде комбинации знаков 0 и 1 при этом сохраняется десятичный вес цифры.
Наиболее общим способом кодирования является представление десятичной цифры при
помощи её 4-х разрядного двоичного эквивалента. DDK
бывают взвешенные и не взвешенные. Во взвешенном коде каждый двоичный разряд
десятичный цифры имеет определённый вес. Любую десятичную цифру от 0 до 9 можно
представить в виде следующего выражения: А = а1×Q1 + а2×Q2 + а3×Q3 + а4×Q4, где а1…а4 - веса
двоичных разрядов; Q1…Q4
- двоичные числа кодовой комбинации. Например, [5]DDK = 0101 К взвешенным кодам относят коды 8421, 4221,
2421, 5211, 5421 и код с избытком 3. Наиболее употребительным является код 8421.
Этот код удобен тем, что он совпадает с обычным двоичным кодом. Кроме того, он
однозначен. В нём для каждой десятичной цифры можно написать одну и только одну
комбинацию. Код 2421
1100=6, 0110=6. В зависимости от
порядка следования степеней числа 2 взвешенные коды бывают регулярными и
нерегулярными. В регулярном коде степени расположены в возрастающем порядке.
Если степени числа 2 расположены другим способом, то хотя в результате и
получится DDK, но он будет
нерегулярным. Регулярный код 8421, примерами нерегулярного кода могут быть
2421, 4221. Преобразование в нерегулярных кодах производится порядком
следования степеней 2. Отсюда следует, что если установить вес некоторым
произвольным образом, то получим код, который можно характеризовать как
случайный, и связывая сложным образом веса между собой можно получить секретный
код, который не поддаётся расшифровке. Если в коде 8421
добавить число 3, то получится код с избытком 3: А = а1×Q1 + а2×Q2 + а3×Q3 + а4×Q4 + 3. [4]код с изб."3" =
0100 + 0011 =0111. В коде с избытком 3 каждая цифра содержит как
единицы, так и нули, что создаёт определённые преимущества при передаче
информации. Поскольку в этом коде десятичный ноль также представляет собой
группу нулей и единиц, то это обеспечивает высокую степень надёжности при детектировании
(передаче) кода нуля. Другим достоинством этого кода является то, что он само
дополняющийся и применяется при выполнении арифметических операций над
десятичными числами, записанными в обратном или дополнительном коде. DDK также можно разделить на две группы: -
самодополняющиеся
коды; -
не
самодополняющиеся коды. К самодополняющимся кодам относят коды,
которые характеризуются следующим: при разрядном инвертировании кодовой
комбинации любой цифры от 0 до 9 получается новая кодовая комбинация, которая
соответствует числу, дополняющему исходное число до 9. Код 2421 само дополняющийся, например, 0110 =
6, проинвертировав (1001) = 3. Кроме
кодов двоично-десятичных существуют коды управляющих и контролирующих модулей -
коды Грея. Этот код является кодом с обменом единицей. При переходе из одной
цифры кода к другой всегда изменяется только один из двоичных разрядов. Кроме
того, существует код чётности для контроля передачи информации, код Хемминга,
который служит для контроля передачи информации, отыскании ошибки в передаче и
коррекция этой ошибки. Семисегментный
код применяется для представления десятичных цифр с помощью семи сегментного
индикаторного элемента. Код
ASCII преобразует
алфавитно-цифровую информацию. |
||||||||||||||||||||||||||||||||||||||