您的位置:首页 > 其它

关于无符号与有符号的相关运算

2013-05-23 00:10 351 查看
1)比较大小

2)移位

1)比较大小:不能直接比较大小,

分别定义一个signed int型数据和unsigned int型数据,然后进行大小比较:

unsigned int a=10;

signed int b=-100;

a>b?还是b>a?实验证明b>a,也就是说-100>10,为什么会出现这样的结果呢?

这是因为在C语言操作中,如果遇到无符号数与有符号数之间的操作,编译器会自动转化为无符号数来进行处理,这样比较下去当然b>a了。

当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型 ;

2)有符号位的移位:

有符号的会出现符号位一起移动的现象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: