问题问题!!

luoyan1984 2009-02-17 08:32:29
今天做卷子遇见个题 int a=3;int b = a<<3;求b的值。
用机器运行的出答案是24,但是不知道为什么。
...全文
80 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
luoyan1984 2009-02-17
  • 打赏
  • 举报
回复
谢谢大家小弟知道啦。
无奈分少不够给的啊。
tangshuiling 2009-02-17
  • 打赏
  • 举报
回复
2的3次方乘以a(应该不难理解呀)
waizqfor 2009-02-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 waizqfor 的回复:]
引用楼主 luoyan1984 的帖子:
今天做卷子遇见个题 int a=3;int b = a < <3;求b的值。
用机器运行的出答案是24,但是不知道为什么。

b = a < <3//a向左移3位 也就乘以8啊 因为移一位相当于乘2啊
所以结果是24啊 每错啊
[/Quote]
移位的时候 要补0的 LZ这个要注意啊
jiweihong 2009-02-17
  • 打赏
  • 举报
回复
每移动一次等于乘以2 .a*2*2*2 = 24
waizqfor 2009-02-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 luoyan1984 的帖子:]
今天做卷子遇见个题 int a=3;int b = a < <3;求b的值。
用机器运行的出答案是24,但是不知道为什么。
[/Quote]
b = a < <3//a向左移3位 也就乘以8啊 因为移一位相当于乘2啊
所以结果是24啊 每错啊
ljmscsq 2009-02-17
  • 打赏
  • 举报
回复
3 二进制00000011
<<是左移符号
b=a<<3 b等于a左移三位

00011000 24
fallening 2009-02-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 luoyan1984 的帖子:]
今天做卷子遇见个题 int a=3;int b = a < <3;求b的值。
用机器运行的出答案是24,但是不知道为什么。

[/Quote]
b<<3 = b*8
operatingtuzi 2009-02-17
  • 打赏
  • 举报
回复
int b = a < <3
等价于int b = (a < <3);
移位操作 a二进制表示为0...0011移位后a表示为0...11000
所以是24

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧