无符号数与有符号数比较(易懂实用)
来源:互联网 发布:引导弹升级数据 编辑:程序博客网 时间:2024/06/08 03:55
题目一:
int a = -1
unsigned int b = 1
rintf("%d", a > b)
结果输出:1
因为无符号数与有符号数比较时,要将有符号数转化为无符号数,再来比较。a转化为无符号数后就是0xFFFFFFFF,肯定大于
题目二:
char a = -1
unsigned char b = 1
rintf("%d", a > b)
结果输出:0
奇怪了,怎么会这样?这是因为两者被转化为int了,a转化为int就表示-1,b转化为int 就是1,前者小于后者。注意了这里不是像题目一里一样简单的把char转化为unsigned char了
题目三:
int a = -1
unsigned char b = -1
rintf("%d\n", a < b)
结果输出是:1
原因在于要把b转化为int就是0xFF当然大于-1了
题目四:
char a = -1
unsigned int b = -1
rintf("%d\n", a == b)
结果输出:1
原因是char类型被扩展为unsigned int后与b相等,同为0xFFFFFFFF
下面给出我个人得出的一些结论:
无符号int与有符号int比较大小,转化为无符号int来比较
int类型与非无符号int的类型比较时,非无符号int的类型转化为int来比较
无符号int类型与其他类型如unsigned short,signed short,unsigned char, char 比较时,其他类型一律转化为无符号int类型来比较
非无符号int类型和非int类型如unsigned short,signed short,unsigned char, char 比较时,一律转化为int类型来比较
阅读全文
0 0
- 无符号数与有符号数比较(易懂实用)
- 无符号数与有符号数比较
- 无符号数与有符号数比较
- 无符号数与有符号数比较
- 无符号数与有符号数比较
- 无符号数与有符号数比较
- 无符号数与有符号数比较大小
- 有符号数与无符号数比较-详解
- 无符号数与有符号数
- 有符号数与无符号数
- 有符号数与无符号数
- 有符号数与无符号数
- 有符号与无符号数转化
- 有符号数和无符号数间的比较.
- 有符号数和无符号数间的比较
- 有符号数和无符号数间的比较.
- 无符号数和有符号数的比较
- 有符号数和无符号数间的比较
- 商品条形码的生成JBarcode
- JAVA基础:多态
- python 简单计算器递归算法 多层括号处理
- 思科HSRP和VRRP双主双备
- 修改opencv的namedWindow窗口位置
- 无符号数与有符号数比较(易懂实用)
- java第七篇 Nginx反向代理的使用
- 贪吃蛇小游戏 c++ easyx图形库实现
- NOIP2017提高组day2T1题解(奶酪)
- 贫穷的烙印·《山月不知心底事》·二
- ServerSocket实现超简单HTTP服务器
- FAQ(4):Attribute "resource" must be declared for element type "mapper".
- SSH框架整合
- c语言编程输出杨辉三角行