问题求解

monjj 2012-04-22 12:58:24
C++中2的p次方为什么可以表示为1 << p是什么意思啊?这是哪一方面的知识啊,我是个初学者从未遇到过
...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pathuang68 2012-07-31
  • 打赏
  • 举报
回复
把贴子结了吧,提高结贴率对你自己有好处
monjj 2012-07-31
  • 打赏
  • 举报
回复
谢谢哦!
一鸣惊天 2012-04-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

c/c++中<<表示右移。
用二进制表示:
1 就是 0000...000001; 就是1
1<<1就是 0000...000010; 就是2,2的1次方
1<<2就是 0000...000100; 就是4,2的平方
1<<3就是 0000...001000; 就是8,2的3次方
......
[/Quote]

错了,左移
一鸣惊天 2012-04-22
  • 打赏
  • 举报
回复
c/c++中<<表示右移。
用二进制表示:
1 就是 0000...000001; 就是1
1<<1就是 0000...000010; 就是2,2的1次方
1<<2就是 0000...000100; 就是4,2的平方
1<<3就是 0000...001000; 就是8,2的3次方
......
pathuang68 2012-04-22
  • 打赏
  • 举报
回复
如果学过二进制或者数字电路,这应该不是一个问题。

2在二进制中是用10表示的,我们以2的2次方等于4为例:
1 << 2是什么意思呢?就是向左移动两位
1
10 --> 向左移动1位
100 --> 向左移动2位,100就是4的二进制表示。

所以向左移动1位,就表示将原来的数据乘以2的意思,向右移动1位,就是将原来的数据除以2的意思。

64,683

社区成员

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

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