当前位置:网站首页>C语言的十六进制printf为何输出有时候输出带0xFF有时没有

C语言的十六进制printf为何输出有时候输出带0xFF有时没有

2022-04-23 19:24:00 ToneChip

	unsigned short aaa = 0xC000;
	printf("0x%x \n", (aaa << 8) );

输出 0xC00000

再写一个下面这种

	short aaa = 0xC000;
	printf("0x%x \n", (aaa << 8) );

输出:0xFFC00000



这是因为下面这个short定义的是一个带符号位的16Bit,左移之后,也是对应的带符号的int

版权声明
本文为[ToneChip]所创,转载请带上原文链接,感谢
https://tonechip.blog.csdn.net/article/details/121785366