viperchaos

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
#include <conio.h>
#include <stdio.h> 
int fun1 (unsigned word)
{
    return (int) ((word << 24) >> 24); 
}  

int fun2 (unsigned word)
{
    return ((int) word << 24) >>24;
}
int main()   
{    
     unsigned  a;
     while(1)
     {
           scanf("%d",&a);
           printf("%d,%d\n",fun1(a),fun2(a));
     }
     getch();
     return 0;
}
int强制转换的时候默认转化为有符号的数字

输入a,输出结果:

a fun1(a) fun2(a)
127 127 127
128 128 -128
255 255 -1
256 0 0
posted on 2010-10-24 13:52  viperchaos  阅读(295)  评论(0编辑  收藏  举报