Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Арифметические действия с двоичными числами




 

1. Сложение двоичных чисел выполняется по правилам:

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 10

Пример: 1100 + 101 = 10001 (12 + 5 = 17)

Проверка: 1*24 + 1*20 = 16 + 1 = 17

 

2. Вычитание двоичных чисел выполняется по правилам:

0 – 0 = 0

1 – 0 = 1

1 – 1 = 0

10 – 1 = 1

Если при вычитании занимается единица старшего разряда, то она равна основанию.

10001 – 101 = 1100

 

3. Умножение двоичных чисел выполняют по правилам:

0 * 0 = 0

0 * 1 = 0

1 * 0 = 0

1 * 1 = 1

При умножении используют правила умножения и сложения.

111 * 101 = 100011 (7 * 5 = 35)

 

4. Деление двоичных чисел выполняют по правилам умножения и вычитания.

100011: 101 = 111

Решается в столбик.

 

27.04.2012 (пт)

Рассмотрим работу функции fscanf.

Управляющая строка рассматривается слева направо. Если очередным символом является символ пробела или ‘\t’ или ‘\n’, то в исходных данных (во входном потоке) пропускаются все подряд идущие символы пробельной группы, пока не встретится другой символ. Если в управляющей строке встретится формат, начинающийся с символа ‘%’, то из входного потока считывается последовательность символов до пробела. Последовательность преобразуется в кодовый формат в соответствии с типом формата и записывается по адресу, заданному в соответствующем аргументе, то есть запись типа ‘&i’ означает адрес, по которому в оперативную память размещается переменная ‘i’. Если до символа пробела считается символ, который не допускается в записи читаемого значения, то ввод по текущему формату остановится на этом символе. Символ в управляющей строке, который следует за символом ‘%’ указывает способ преобразования символов из входного потока в кодовый формат в соответствии с нижеследующей таблицей.

Важно, чтобы число форматов и число аргументов функции fscanf должно быть одинаковым. Если в управляющей строке считался символ, отличный от пробела и символа ‘%’, то функция fscanf считывает очередной символ из входного потока. При этом, если считанный символ не соответствует символу в управляющей строке, то функция fscanf прерывает работу и несоответствующий символ остается во входном потоке. При соответствии прочитанный символ пропускается, и функция продолжает работу. Такая особенность позволяет организовать так называемый «неслепой ввод». Это означает, что во входном потоке из файла исходных данных с помощью лидирующих символов можно указать к какой переменной относится вводимое значение.

 

 

Работа 2.

Представление двоичных чисел в прямом, обратном и дополнительных кодах.

 

Обратные и дополнительные коды используются для замены вычитания сложением. Эти коды используются для представления двоичных чисел. Десятичные – только для иллюстрации. Представление положительных чисел во всех кодах совпадает.

 

Прямой код.

Число преобразуется в прямой код по правилу:

x > 0, x = +0, x1, x2, …, то [x]пр = 0, х1, х2, …

х < 0, х = -0, х1, х2, …, то [x]пр = 1, х1, х2, …

Если в разряде знака 0 – число положительное, если 1 – число отрицательное.

Пример:

х = -0.10101 à [x]пр = 1.10101

 

Обратный код:

Число преобразуется в обратный код по правилу:

x > 0, x = +0, x1, x2, …, то [x]обр = [x]пр = х

х < 0, х = -0, х1, х2, …, то 1.{0à1, 1à0}

Пример:

х = -0.10101

[x]обр = 1.01010

 

Дополнительный код:

x > 0, x = +0, x1, x2, …, то [x]доп = [x]пр = [x]обр = х

х < 0, х = -0, х1, х2, …, то [x]доп определяется как дополнение числа до единицы более старшего разряда; [x]доп = 1.х1|x2|…+0,00…1

Пример:

х = -0.10101

Берется число 100000 и из него вычитается мантисса 10101. Полученное число является дополнением. В этом примере дополнение 01011.

 

Пример:

5(10) – 3(10) = 2(10)

Для десятичных чисел.

Дополнение 3 до 10 à 7 (10 – 3 = 7)

5 + 7 = 12 à 1| 2

В обратном коде для десятичных чисел при представлении каждой позиции используются цифры от 0 до 9. Инвертированное число для 3 равно 6 (9 – 3 = 6), поэтому

5 + 6 = 11

Единица переноса добавляется к младшему разряду и получается в итоге 2.

 

12 – 3 = 9

 

Сложение двоичных чисел в компьютере. Модифицированный код.

 

С учетом знаков сложение чисел в компьютере выполняется следующим образом. Числа в прямом коде преобразуются в дополнительный или обратный, выполняется поразрядное сложение кодов, и результат преобразуется в прямой код для передачи на другие устройства компьютера.

 

Сложение в обратном коде.

Число в обратном коде складывается поразрядно, включая знаковые разряды. При возникновении в знаковом разряде единицы переноса, она прибавляется к младшему разряду, что называется циклическим переносом.

При сложении различают четыре случая:

1. При сложении двух положительных чисел получают положительное число.

2. При сложении положительного и отрицательного чисел получают отрицательное число.

3. При сложении положительного и отрицательного чисел получают положительное число.

4. При сложении двух отрицательных чисел получают отрицательное число.

 

При сложении положительных чисел, их обратный код совпадает с прямым и не требует пояснений.

 





Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 640 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Так просто быть добрым - нужно только представить себя на месте другого человека прежде, чем начать его судить. © Марлен Дитрих
==> читать все изречения...

2510 - | 2261 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.