我想知道如何获得C到不能延长我的二进制数,当我位位移到左边左位移位在C没有扩展
int main()
{
unsigned int binary_temp = 0b0100;
binary_temp = binary_temp << 2;
printf("%d", binary_temp);
return 0;
}
当我跑,我想的返回值为0,因为它有延长了我拥有的4位数字,但是现在它返回16(10000)。我如何让C不延长我的电话号码?
编辑:我想能够使用二进制形式的数字,所以我需要只有4位数字,而不是只输出正确的数字。
请注意,二进制'0b0100'表示法是非标准(GNU)扩展。 – 2013-04-21 03:54:53
你是什么意思“使用二进制形式的数字”? – GWW 2013-04-21 03:57:36
@JonathanLeffler,你推荐什么标准来表示二进制文字? – 2013-04-21 04:03:17