Написать логическую операцию и маску ,для того тчобы обнулить указанные биты 16 битного...

0 голосов
525 просмотров

Написать логическую операцию и маску ,для того тчобы обнулить указанные биты 16 битного числа
{2,6,5}
{9,4,7}


Информатика (809 баллов) | 525 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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

(142k баллов)
0
5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 -это нумерация справа налево(16цифр)
1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 - ставим 0 там где выпадает номер 2,6 и 5, получаем маску в двоичной системе, делим ** тетрады (по четыре цифры)
1 1 1 1  1 1 1 1  1 0 0 1   1 0 1 1, получаем 1 1 1 1=F | 1 1 1 1=F |1 0 0 1=9 | 1 0 1 1 =B
Маска в 16-ти ричной системе FF9B
----------
Для второго уже понятно :)