位移 - 将值保持为字节

时间:2014-09-24 18:06:10

标签: c# byte bit-shift

假设我有以下字节:

 byte myByte = 0xff; // 1111 1111 eg 255

我希望向左移2位:

 int newNumber = myByte << 2;

newNumber0011 1111 1100,例如1020

我的问题是,如何删除2个最重要的位?我的期望值为252 1111 1100

我问了这个问题,因为我目前正在做一些AVR编程,并对如何在C#中完成这项工作感兴趣。

2 个答案:

答案 0 :(得分:3)

int newNumber = ((byte)(myByte << 2));

答案 1 :(得分:0)

将结果转换为一个字节。应该这样做。

或者:

var result = newNumber & 0xFF