假设我有以下字节:
byte myByte = 0xff; // 1111 1111 eg 255
我希望向左移2位:
int newNumber = myByte << 2;
newNumber
为0011 1111 1100
,例如1020
我的问题是,如何删除2个最重要的位?我的期望值为252 1111 1100
。
我问了这个问题,因为我目前正在做一些AVR编程,并对如何在C#中完成这项工作感兴趣。
答案 0 :(得分:3)
int newNumber = ((byte)(myByte << 2));
答案 1 :(得分:0)
将结果转换为一个字节。应该这样做。
或者:
var result = newNumber & 0xFF