Chinaunix首页 | 论坛 | 博客
  • 博客访问: 132927
  • 博文数量: 75
  • 博客积分: 3483
  • 博客等级: 中校
  • 技术积分: 820
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-07 08:31
文章分类

全部博文(75)

文章存档

2011年(53)

2010年(22)

我的朋友

分类: C/C++

2010-12-15 22:32:18

c>>32 这个超过了该数值类型的最大位数,会先用32%32,再用这个值进行 移位
printf("%x\n",c>>33)
printf("%x\n",c>>1)
 

#include <stdio.h>

int main()
{
    int c=0x97000000;
    
    printf("%x\n",c>>31);//得到的结果是0xffffffff

    printf("%x\n",(c>>31)>>1);//得到的结果是0xffffffff

    printf("%x\n",c>>32);//得到的结果是0x97000000


    return 0;
}


阅读(362) | 评论(1) | 转发(0) |
0

上一篇:segmentation fault

下一篇:make for my learning

给主人留下些什么吧!~~

chinaunix网友2010-12-16 14:27:31

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com