- •Часть 2. (Повышенный уровень) Перевод дробной части.
- •Часть 3. Перевод из х2 в х8 и из х2 в х16.
- •Часть 4. Перевод из х8 в х16 и из х16 в х8.
- •Часть 5. Сложение в разных системах счисления.
- •Часть 6. (Дополнительная) Вычитание в различных системах счисления.
- •Часть 7. Вычитание с переводом в дополнительный код.
- •Часть 2. (Повышенный уровень) Переведите числа и их дробные части.
- •Часть 9. Построение скнф.
- •Часть 10. Построение сднф.
- •Часть 7. Выполните вычитание с переводом в дополнительный код.
- •Часть 8. Составить таблицы истинности для следующих функций:
- •Часть 9. Постройте скнф и сднф для каждой из следующих таблиц истинности:
Часть 6. (Дополнительная) Вычитание в различных системах счисления.
Правило: Вычитание чисел в любой позиционной системе счисления выполняется поразрядно, с учетом возможных займов из старших разрядов.
Пример:
|
|
Вычитаем поразрядно: 0-1 (занимаем 2) 2-1=1. Пишем 1. Далее 1 у нас уже занят. поэтому 0-1 (занимаем 2) 2-1=1. Пишем 1. Следующая единица уже была занята. Поэтому ответ: 112. |
|
|
Вычитаем поразрядно: 38-78 (занимаем 8*, 3+8=11. тогда 11-7=4. Пишем 4. Из тройки единицу уже занимали поэтому 2-2=0. Ничего не пишем.
*Занятый 1 в большем разряде в восьмеричной системе в меньшем разряде равен 8; |
|
|
Вычитаем поразрядно: С(12)16-816=416. Пишем 4. 916-716=216. Пишем 2.
*В случае займов, аналогично с 8й системой, 1 в большем разряде равен 16ти в меньшем. |
Часть 7. Вычитание с переводом в дополнительный код.
Теория:
В ЭВМ применяется прямой, обратный и дополнительный коды. Прямой кoд испoльзуется для представления oтрицательных чисел в запоминающем устройстве ЭВМ, а также при умножении и делении. Обратный и дополнительный коды используются для замены oпeрации вычитания опeрацией слoжения, чтo упрощает устройствo арифметического блока ЭВМ.
Прямой код. Прямой код числа в двоичной системе счисления совпадает по изoбражению с записью самoгo числа в двоичной системе счисления. Значение
Несмотря на то, что современные вычислительные средства позволяют постить овсянку в инстаграмм и мочить школие танчиками, в основе своей они примитивны. Только и могут что складывать. Соответственно все арифметические операции заменены сложением. Так и паять проще и вообще.
Вычитание – это сложение с дополнительным кодом вычитаемого.
a – b => a + dopKod(b)
Чтобы отличать отрицательные числа от положительных первый бит назначается знаковым. Если он равен 0 число положительно, если 1 то соответственно отрицательно.
Алгоритм подготовки вычитаемого к сложению
Преобразовать в дополнительный код и дописать в знаковый бит 1.
Дополнительный код получается в 2 действия.
Поразрядная инверсия числа 10011 -> 01100. Инверсия – это замена 0 на 1, а 1 на 0.
К инвертированному числу надо прибавить 1. 01100 -> 01101
В знаковый бит дописать 1. 01101 -> 101101
Ответ может быть как положителен, так и отрицателен. Определяется знаковым битом.
Если положительно, то все хорошо. Если отрицательно, то надо перегнать из доп кода в прямой код.
Пример.
110011 – 101101
К уменьшаемому (это первое число) дописать знаковый бит.
Оно положительно, дописываем 0
110011 -> 0110011
Из вычитаемого (второе число) получить дополнительный код
101101 -> 010011
Дописать знаковый бит
010011 -> 1010011
Сложить полученные числа
0110011
1010011
10000110
в знаковом бите 0, значит ответ положителен
Лишние числа отбрасываются.
Дополнение.
Чтобы было сложнее, чуть-чуть про переполнение.
это в тетрадке клеточек полно, а в реальной жизни разряды 2оичных чисел конечны. Что порождает проблему переполнения. При переполнении результат операции неправилен.
Например у нас всего 4 разряда. С их помощью можно записать числа от 0 до 15 или от -8 до 8. Но никто не мешает сложить 7 и 7, надеясь получить 14. А получится что-то другое:)
Признаком переполнения служат 2последних переноса. Перенос – это числа в уме, те что пишутся мелкими цифрами над столбиком чисел.
Если 2 последних переноса разные 01 10 то все плохо. Переполнение.
Если одинаковые 00 или 11 то все путем.
пример
Дано 4 разряда
-5 – 4
5 в двоичной 101
доп код 101 -> 010
плюс 1 010 -> 011
знаковый бит 011 -> 1011
4 в двоичной 100
доп код 011
плюс 1 100
знаковый бит 100 -> 1100
Складываем 2 числа
в уме - > 10000
1011
+1100
10111
последние два разные, значит переполнение. Ну оно и понятно в знаковом бите 0, типа число положительное и равно 7. -5 – 4 = 7. Ошибка. Переполнение.
Задания:
Часть 1. Выполнить перевод чисел Х10->Х2,8,16.
|
|
Часть 2. Выполнить перевод чисел Х2,8,16->Х10.
|
|
|



