2016-12-11 11 views
-2

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

Example of what it could have have: 
1100 0110 

Я хочу, чтобы очистить 1100 0000 от числа, так что я в конечном итоге с 0000 0110.

Как мне это сделать?

ответ

2

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

byte mask = (1 << 6) - 1; // == 0011 1111 

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

number = ... // Number to modify 
byte mask = (1 << 6) - 1; // == 0011 1111 
byte result = number & mask;