C语言 左移位的问题,求大神,帮忙解释一下!!!
intaa=0x12;pitntf("%d\n",aa<<3);应该等于96的为什么是90,要是移4位,应该192,但输出是120!!!帮忙解释一下。。。。谢谢...
int aa=0x12;
pitntf("%d\n",aa<<3);
应该等于96的为什么是90,要是移4位,应该192,但输出是120!!!
帮忙解释一下。。。。谢谢 展开
pitntf("%d\n",aa<<3);
应该等于96的为什么是90,要是移4位,应该192,但输出是120!!!
帮忙解释一下。。。。谢谢 展开
3个回答
展开全部
aa==0x12(0x表示十六进制,十六进制12,十进制是16+2==18),二进制0001 0010
左移3位,二进制1001 0000,十六进制0x90,十进制144。
左移4位,二进制0001 0010 0000,十六进制0x120,十进制288。
你确定是printf("%d\n",aa<<3);吗?可能是这个吧:printf("%x",aa<<3);,%x表示十六进制输出。
左移3位,二进制1001 0000,十六进制0x90,十进制144。
左移4位,二进制0001 0010 0000,十六进制0x120,十进制288。
你确定是printf("%d\n",aa<<3);吗?可能是这个吧:printf("%x",aa<<3);,%x表示十六进制输出。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说的也不对
aa为18
aa<<3,相当于乘8,显示144.
aa<<4,相当于乘16,显示288
我用C++BUILDER6 试过了。
aa为18
aa<<3,相当于乘8,显示144.
aa<<4,相当于乘16,显示288
我用C++BUILDER6 试过了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询