| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 492 人关注过本帖
标题:关于左移的双目运算符 求助一下大家
取消只看楼主 加入收藏
hacker梦魇
Rank: 2
等 级:论坛游民
帖 子:40
专家分:42
注 册:2015-10-29
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
关于左移的双目运算符 求助一下大家
#include<stdio.h>
main()
{
  int x=15;
  x=x<<2;
  printf("the result1 is:%d\n",x);
  x=x<<3;
  printf("the result2 is:%d\n",x);
  x=x<<6;
  printf("the result3 is:%d\n",x);
  getch();

}//左移两位相当于乘以四,得60 这个可以理解 那左移三位数为什么输出的结果为480 这个就不明白了  那么再左移6位数呢? ,到底是怎么算的?麻烦大家告诉我一下 ?
2015-12-04 12:14
hacker梦魇
Rank: 2
等 级:论坛游民
帖 子:40
专家分:42
注 册:2015-10-29
收藏
得分:0 
回复 3楼 TonyDeng
是第一个X左移了3位数
2015-12-04 14:53
hacker梦魇
Rank: 2
等 级:论坛游民
帖 子:40
专家分:42
注 册:2015-10-29
收藏
得分:0 
回复 4楼 wp231957
那按照你那样的说法 是2的几次方 那么左移几位数 那就是几次方了? 也只有这样的说法说得通了
2015-12-04 14:57
hacker梦魇
Rank: 2
等 级:论坛游民
帖 子:40
专家分:42
注 册:2015-10-29
收藏
得分:0 
回复 2楼 边小白
或许你猜的对 可能就是这样的方法了  别的也解释不通
2015-12-04 14:59
hacker梦魇
Rank: 2
等 级:论坛游民
帖 子:40
专家分:42
注 册:2015-10-29
收藏
得分:0 
回复 4楼 wp231957
那如果左移改成右移呢?该怎么算呢?#include<stdio.h>
main()
{
  int x=15;
  x=x>>2;
  printf("the result1 is:%d\n",x);
  x=x>>3;
  printf("the result2 is:%d\n",x);
  x=x>>6;
  printf("the result3 is:%d\n",x);
  getch();
}
2015-12-04 15:07
hacker梦魇
Rank: 2
等 级:论坛游民
帖 子:40
专家分:42
注 册:2015-10-29
收藏
得分:0 
回复 10楼 TonyDeng
我知道 第一个X左移2位数是60 第二个X左移三位是480 我刚才查看了百度的资料感觉就是二进制和十进制转换关系  不知道 我说的有道理不?
2015-12-04 17:42
hacker梦魇
Rank: 2
等 级:论坛游民
帖 子:40
专家分:42
注 册:2015-10-29
收藏
得分:0 
回复 12楼 TonyDeng
嗯 谢谢 那也是移出位数不含1的情况下 否则还是会变天的
2015-12-04 19:04
快速回复:关于左移的双目运算符 求助一下大家
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027217 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved