Перечень
1. Алгоритм перевода чисел из десятичной системы счисления в любую другую
1. Последовательно выполнять деление данного числа и получаемых неполных частных на основание новой системы счисления до тех пор, пока не получим частное, меньшее делителя.
2. Полученные остатки, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления.
3. Составить число в новой системе счисления, записывая его, начиная с последнего остатка (справа налево).
2. Алгоритм перевода чисел из любой системы счисления в десятичную
Позиция цифры называется разрядом. В позиционной системе счисления любое число можно представить в виде:
An=am-1am-2…aia0*a-1a-2…a-k=am-1* N m-1+am-2* N m-2…+a-k* N -k.
где ai – i-я цифра числа; k – количество цифр в дробной части числа; m - количество цифр в целой части числа; N – основание системы счисления.
Основание системы счисления N показывает, во сколько раз «вес» i-го разряда больше (i-1) разряда. Целая часть числа отделяется от дробной части точкой (запятой).
3. Машинные коды чисел
Прямой код используется для представления отрицательных чисел в запоминающем устройстве ЭВМ, а также при умножении и делении.
Обратный и дополнительный коды используются для замены операции вычитания операцией сложения, что упрощает устройство арифметического блока ЭВМ.
В примерах по операциям с кодами примем, что длина кода не больше 1 байт.
К кодам выдвигаются следующие требования:
- разряды числа в коде жестко связаны с разрядами байта;
- для записи кода знака в байте отводится фиксированный, строго определенный разряд.
Поэтому в байте для представления числа будет отведено 7 разрядов (0 — 6), а для записи кода знака один разряд (7).
Знак | Значение кода | ||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Прямой код. Прямой код двоичного числа совпадает по изображению с записью самого числа. Значение знакового разряда для положительных чисел равно 0, а для отрицательных чисел 1.
Обратный код. Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Дополнительный код. Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.
Модифицированные обратный и дополнительный коды. Ранее говорилось, что из седьмого бита может произойти перенос единицы в знаковый разряд. Это приводит к неправильному результату. Для обнаружения такого случая вводятся модифицированные коды. Для них к байту добавляют еще один бит для знака.
В модифицированном обратном и модифицированном дополнительном кодах под знак числа отводится не один, а два бита:
«00» соответствует знаку «+»;
«11» — знаку «-».
Любая другая комбинация («01» или «10»), получившаяся в знаковых разрядах, служит признаком переполнения разрядной сетки. Сложение чисел в модифицированных кодах ничем не отличается от сложения в обычных обратном и дополнительном кодах.
4. Сложение чисел в кодах. При сложении чисел в кодах возникающая единица переноса из седьмого бита в знаковый бит отбрасывается.
При сложении чисел в обратном коде возникающая единица переноса в знаковом бите прибавляется к младшему разряду суммы кодов
Если результат арифметических действий является кодом отрицательного числа, необходимо преобразовать его в прямой код. При этом обратный код преобразуется в прямой заменой цифр во всех разрядах, кроме знакового, на противоположные
При сложении чисел в дополнительном коде возникающая единица переноса в знаковом бите отбрасывается
Дополнительный код преобразуется в прямой так же, как и обратный код, с последующим прибавлением единицы к младшему разряду
5. Правила сложения двоичных цифр
Значения двоичных чисел | Разряд суммы Si | Перенос в следующий разряд Рi | ||
аi | bi | Pi-1 | ||
0 0 0 0 1 1 1 1 | 0 0 1 1 0 0 1 1 | 0 1 0 1 0 1 0 1 | 0 1 1 0 1 0 0 1 | 0 0 0 1 0 1 1 1 |
6. Таблица соответствия чисел между разными системами счисления
10-ая | 2-ая | 8-ая | 16-ая | Римская |
0 | 0 | 0 | 0 | отсутствует |
1 | 1 | 1 | 1 | I |
2 | 10 | 2 | 2 | II |
3 | 11 | 3 | 3 | III |
4 | 100 | 4 | 4 | IV |
5 | 101 | 5 | 5 | V |
6 | 110 | 6 | 6 | VI |
7 | 111 | 7 | 7 | VII |
8 | 1000 | 10 | 8 | VIII |
9 | 1001 | 11 | 9 | IX |
10 | 1010 | 12 | A | X |
11 | 1011 | 13 | B | XI |
12 | 1100 | 14 | C | XII |
13 | 1101 | 15 | D | XIII |
14 | 1110 | 16 | E | XIV |
15 | 1111 | 17 | F | XV |
7. Инверсия (логическое отрицание). Таблица истинности для логического выражения А имеет вид
А | |
0 | 1 |
1 | 0 |
8. Конъюнкция (логическое умножение). Таблица истинности для логических переменных A и B
А | В | А Λ B |
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
9. Дизъюнкция (логическое сложение). Таблица истинности для логических переменных A и B
А | В | А V B |
1 | 1 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
10. Три базовых логических элемента, которые реализуют три основные логические операции:
· логический элемент «И» – логическое умножение – конъюнктор;
· логический элемент «ИЛИ» – логическое сложение – дизъюнктор;
· логический элемент «НЕ» – инверсию – инвертор.
11. Алгоритм построения логических схем
1. Определить число логических переменных.
2. Определить количество логических операций и их порядок.
3. Изобразить для каждой логической операции соответствующий ей логический элемент.
4. Соединить логические элементы в порядке выполнения логических операций.