Операции с целыми числами Решение задач

Операции с целыми числами Решение задач

Ваpиант 19 Ваpиант 20 Ваpиант 21
1. {5, 8, 3}           1. {9, 6, 8}           1. {2, 9, 6}          
2. {9, 6, 2}           2. {3, 1, 5}           2. {3, 4, 0}          
3. C316 xor CA16     3. 7116 xor 8716     3. 2E16 xor C516    
4. биты с 6 по 8       4. биты с 6 по 9       4. биты с 13 по 15    

 

Таблица соответствия чисел 2 и 16 систем счисления

16 c/c

2 с/с

  16 c/c

2 с/с

                     
                     
            A        
            B        
            C        
            D        
            E        
            F        

Задание 1. Напишите логическую операцию и маску (в шестнадцатеричной системе счисления), которые нужно применить, чтобы ОБНУЛИТЬ указанные биты 16-битного целого числа (биты нумеруются справа налево, начиная с 0).
(Идея решения: Операция «И» с маской ….)

Обнулить биты {5, 8, 3}          

Решение

Обнулить бит можно, если логически умножить его (операция логическое "И") на маску, содержащую в обнуляемом разряде 0, а в остальных 1.
Если считать биты справа налево и самый правый считать нулевым, то 16-битное число будет иметь нумерацию битов от 0 до 15.

По условию обнуляются разряды 3,5,8 – запишем в них 0, в остальные - 1

разряд                                
Маска                                
16 с/с

F

E

D

Ответ: FED7


Обнулить биты  {9, 6, 8}          

Решение

Обнулить бит можно, если логически умножить его (операция логическое "И") на маску, содержащую в обнуляемом разряде 0, а в остальных 1.
Если считать биты справа налево и самый правый считать нулевым, то 16-битное число будет иметь нумерацию битов от 0 до 15.

По условию обнуляются разряды 6,8,9 – запишем в них 0, в остальные - 1

разряд                                
Маска                                
16 с/с

F

C

B

F

Ответ: FCBF

 

Самостоятельно Обнулить {2, 9, 6}     

  Задание 2. Напишите логическую операцию и маску (в шестнадцатеричной системе счисления), которые нужно применить, чтобы УСТАНОВИТЬ указанные биты 16-битного целого числа. (Идея решения: Операция «ИЛИ» с маской)

 Установить  биты  {9, 6, 2}    {3, 1, 5}            {3, 4, 0} (самостоятельно)            

Решение

Установить бит можно, если логически сложить его (операция логическое "ИЛИ") с маской, содержащую в устанавливаемом разряде 1, а в остальных 0.
Если считать биты справа налево и самый правый считать нулевым, то 16-битное число будет иметь нумерацию битов от 0 до 15.

По условию обнуляются разряды 6,8,9 – запишем в них 1, в остальные - 0

разряд                                
Маска                                
16 с/с

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: