社区
C语言
帖子详情
unsigned int a = -1; if( a != -1) ???
maijian
2008-07-12 07:27:27
unsigned int a = -1;
if( a != -1) {
assert(0);
}
请问有 a != -1 的时候吗?
我好想遇到过, vc7
...全文
299
10
打赏
收藏
unsigned int a = -1; if( a != -1) ???
unsigned int a = -1; if( a != -1) { assert(0); } 请问有 a != -1 的时候吗? 我好想遇到过, vc7
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tangtang02520
2008-07-15
打赏
举报
回复
[Quote=引用 9 楼 277894613 的回复:]
没见过
[/Quote]
277894613
2008-07-14
打赏
举报
回复
没见过
ChamPagneZ
2008-07-12
打赏
举报
回复
[Quote=引用 6 楼 maijian 的回复:]
你是用什么编译器啊? 我 vc7 和 gcc都有编译过,
而且很难重现
[/Quote]
unsigned int最小范围是0-65535,编译器的支持unsigned int的范围只要不比这个范围小就可以.
很多编译器还是16位的,没啥啊...
waji2000
2008-07-12
打赏
举报
回复
在i386平台.
int 型是4个字节的.
当然是
a=(unsigned int)-1=0xffffffff
数值的转换:char,short => int ==> unsigned => long =>double <= float
maijian
2008-07-12
打赏
举报
回复
你是用什么编译器啊? 我 vc7 和 gcc都有编译过,
而且很难重现
ChamPagneZ
2008-07-12
打赏
举报
回复
[Quote=引用 4 楼 maijian 的回复:]
unsigned int a = -1;
a 会变成 4294967295 (0xFFFFFFFF) 这个值的, 不会 0xFFFF啊
[/Quote]
我那个是16位,你是32位,这和编译器有关.
maijian
2008-07-12
打赏
举报
回复
unsigned int a = -1;
a 会变成 4294967295 (0xFFFFFFFF) 这个值的, 不会 0xFFFF啊
K行天下
2008-07-12
打赏
举报
回复
[Quote=引用楼主 maijian 的帖子:]
unsigned int a = -1;
if( a != -1) {
assert(0);
}
请问有 a != -1 的时候吗?
我好想遇到过, vc7
[/Quote]
不会, 类型提升! -1会提升为unsigned int, 所以还是相等的!
ChamPagneZ
2008-07-12
打赏
举报
回复
机器不认识-1
但有0xFFFF(16),无符整数可以取到这个数值
zhangxichao
2008-07-12
打赏
举报
回复
类型升级问题,存在着陷阱!干嘛这么用呢
C语言中signed
int
与
unsigned
int
还有
unsigned
char a=-1;signed char=-1;char a=-1;打印结果分析
然而对于if()逻辑语句中的a+b中的
int
类型便会转换为
unsigned
int
类型。(1)
unsigned
int
类型比
Int
类型容量大,因为对于32\64位机器最前面一位对于
Int
类型而言均是符号位,而对于
unsigned
int
类型最高位不是...
c语言
unsigned
与signed及其溢出问题
unsigned
int
a = -1;
int
b = -1; pr
int
f("%d %d \n", a, b); // -1 -1 pr
int
f("%u %u", a, b); // 4294967295 4294967295 \u是无符号输出 可以理解为都是正数输出 正常
int
一个 -1 是以补码的形式存储 4字节...
C++
int
和
unsigned
int
比较谁大呢?
int
a = -1;
unsigned
int
b = 100; if(a < b){ cout << "a(-1) < b(100)" << endl; } else{ cout << "a(-1) &g
给
unsigned
int
类型的变量赋值负数会怎么样?
#include<iostream> using namespace std;...
unsigned
int
a = -1; cout << a << endl; return 0; } // a=-1,输出为:4294967295 // a=-2,输出为:4294967294 // a=-3,输...
有符号数与无符号数的比较 与 整型提升
C语言和C++中,有很多基本数据类型,如char,inf,float等,与此同时,还有一种特殊的数据类型容易被我们忽略–无符号数,它由
unsigned
修饰,如
unsigned
int
等,当我们忽略了数据有无符号,就会引起一些错误。...
C语言
70,036
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章