[英]C++: Bitshifting an unsigned short
我试图将2个未签名的char保存为一个未签名的short。 所以我要做的是保存第一个字符,然后将其移位或与第二个字符一起移位。
码:
unsigned char a = 8;
unsigned char b = 2;
unsigned short c = a;
c << 8;
c |= b;
但是我首先遇到了移位问题。 运行此代码:
unsigned char a = 8;
unsigned short c = a;
c << 8;
cout << c;
我希望得到2048。我什至在这里查看: http : //www.miniwebtool.com/bitwise-calculator/bit-shift/ ?data_type=10&number=8&place=8&operator=Shift+Left。 但是我得到了8。我做错了什么?
c <<= 8;
不
c << 8;
第二种情况不会修改c的值。 我本来希望您的编译器对此发出警告。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.