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



В двоичной системе счисления арифметические операции выполняются поразрядно с использованием таблиц:

 

двоичного сложения     +  0 1         0 0 1         1 1 10 двоичного вычитания -  0 1   1  1 0          10 0 1 двоичного умножения ´ 0 1   0 0 0   1  0 1

 

Примеры выполнения заданий

1. Сложите два целых числа 2. 2. Сложите два дробных числа  
3. Найдите произведение чисел 4. Найдите частное чисел
3. Найдите разность чисел Проверка сложением:

Арифметические операции в восьмеричной и шестнадцатеричной системах счисления

Примеры выполнения заданий

1 . Сложите два числа:        5028     ABC16     + 1468   + 6216                       6508       B1E16 2 . Найдите разность чисел:       5028       ABC16    - 1468         - 6216           3348        A5A16

3 . Найдите произведение двух чисел:

  ´ 5028                 ´ ABC16

     1468                        62116                   

   3614                             1578

+ 1410                   + 4068

502                       ABC

1001148                  ED7F816

 

Арифметические операции в позиционных нетрадиционных
 системах счисления

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

Задания для самостоятельного выполнения

 

4. Решите уравнения:

0) 538 - x = 468 .  x : 3E16 = 3216; 1) 258 + x = 728;  x : 178 = 208; 2) x : 6416 = 2216; 738 + x = 1168;
3) x - A216 = 2716 .  x : 128 = 518; 4) 7B16 + x = AF16;  x : 218 = 158 5) x : 3316 = 6516; x - 148 = 428;
6)  x + A116 = B516;  x : 568 = 128; 7) 628 - x = 478;  x : 9116 = А316; 8) x  : 238 = 778 C916 - x = 2716;
9) x + 148 =428;  x  : 2216 = ЕЕ16;    

Тема 3. Представление целых чисел в памяти ПК

 

Элементарная ячейка памяти ЭВМ имеет длину 8 бит (байт). Каждый байт имеет свой номер (адрес). Наибольшую последовательность бит, которую ЭВМ может обрабатывать как единое целое, называют машиннымсловом. Длина машинного слова зависит от разрядности процессора и может быть равной 16, 32 битам и т.д.

Целые числа типа Integer лежат в диапазоне от –32768 (–215) до 32767 (215 – 1) и для их хранения отводится 2 байта. Длинное целое типа LongInt  лежит в диапазоне от –231 до 231 – 1 и размещается в 4 байтах. Короткое целое типа Short Integer лежит в диапазоне от –27 до 27 – 1 и размещается в 1 байте и т.д.

Данные могут быть интерпретированы как числа со знаками, так и без знаков. В случае представления величины со знаком самый левый (старший) разряд указывает на положительное число, если содержит нуль, и на отрицательное, если - единицу. Разряды нумеруются справа налево, начиная с 0.

Прямой код целого числа может быть получен следующим образом: число переводится в двоичную систему счисления, а затем его двоичную запись слева дополняют таким количеством незначащих нулей, сколько требует тип данных, к которому принадлежит число. Для более компактной записи чаще используют шестнадцатеричный код.

Дополнительный код положительного числа совпадает с его прямым кодом, а целого отрицательного числа может быть получен по следующему алгоритму:

1) записать прямой код модуля числа;

2) инвертировать его (заменить 1 - нулями, нули - 1);

3) прибавить к инверсному коду единицу.

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

1) вычесть из кода числа 1;

2) инвертировать код;

3) перевести в десятичную систему счисления. Полученное число записать со знаком минус.

Примеры выполнения заданий

1.Представьте числа 3710 и -3710 в прямом коде в формате integer , затем запишите в шестнадцатеричном коде.

Переведем число в двоичную систему счисления:

3710 = 1001012.

Занесем результат в разрядную сетку:

 

     знак числа                                      младший разряд

0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1

 

-3710 = -1001012.

Занесем результат в разрядную сетку:

 

1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1

 

Используем специальные приемы перевода D2 ® D16 , получаем: 3710 = 2516

2.Постройте дополнительный восьмиразрядный код для чисел
-12810, -12710 и -010, затем запишите в шестнадцатеричном коде.

Число -128 -127 -0
Прямой код 1000 0000 0111 1111 0000 0000
Инверсный код 0111 1111 1000 0000 1111 1111
Дополнит. Код 1000 0000 1000 0001 0000 0000
D 16 80 81 0

 

3.Укажите десятичные числа, имеющие следующее представление в дополнительном коде в формате integer :

а) 0000000000010111. Поскольку в старшем разряде записан нуль, то результат будет положительным. Это код числа 23.

б) 1111111111000000. Здесь записан код отрицательного числа. Исполняем алгоритм:

1) 11111111110000002 – 12 = 11111111101111112;

2) 00000000010000002;

3) 10000002 = 1× 26 = 6410. Ответ: -6410

Целочисленная арифметика в дополнительных кодах
в памяти компьютера

Примеры выполнения заданий

1. Вычислите, используя дополнительный код представления 73–27:

73 – 27 = 73 + (–27)= 4610

73 10 = 64 + 8 + 1 = 1 × 26 + 1 × 23 + 1 × 20 = 10010012

010010012в формате short integer ;

–27 10 = - (16 + 8 + 2 + 1) = - (1 × 24 + 1 × 23 + 1 × 21 + 1 × 20) = - 110112

Вычисление дополнительного кода числа - 110112:

1) 000110112в формате short integer ;

2) 111001002инвертированный код;

3) +      1 – прибавление 1;

4) 111001012результат.

Вычисление суммы чисел в дополнительном коде:

   010010012

+ 111001012

       1001011102        

 Проверка результата: учитывая формат short integer , отбрасываем старший разряд (переполнение разрядной сетки) и переводим в десятичное представление:    1011102 = 1 × 21 + 1 × 22 + 1 × 23 + 1 × 25 = 4610

2. Вычислите, используя дополнительный код представления –35 – 17:

–35 –17 = –35 + (–17)= - 5210

–35 10 = - (32 + 2 + 1) = - (1 × 25 + 1 × 21 + 1 × 20) = - 1000112

1) 001000112в формате short integer ;

2) 110111002инвертированный код;

3) +       1 – прибавление 1;

4) 110111012результат.

–17 10 = - (16 + 1) = - (1 × 24 + 1 × 20) = - 100012

1) 000100012в формате short integer ;

2) 111011102инвертированный код;

3) +       1 – прибавление 1;

4) 111011112результат.

Вычисление суммы чисел в дополнительном коде:

   110111012

+ 111011112

       1110011002        

Проверка результата сложения, путем выполнения операций в обратном порядке:

1) 1110011002

            1

    1110010112 – вычитание 1;

2) 0001101002 – инвертированный код;

3) перевод в десятичное представление:

- 1101002 = - (1 × 22 + 1 × 24+ 1 × 25)= - 5210

 


Дата добавления: 2020-04-08; просмотров: 190; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!