社区
C语言
帖子详情
unsigned int类型的数和0比较大小?
xiaoxibo
2009-07-24 05:04:05
#include<stdio.h>
int main ()
{
unsigned int i;
for(i = 9; i >= 0; --i)
{
printf("%u\n", i);
}
return 0;
}
结果是
9
8
7
6
5
4
3
2
1
0
4294967295
……
后面是是循环
unsigned int类型的数能不能和0比较大小??如果能的话是怎么比的?
...全文
1252
8
打赏
收藏
unsigned int类型的数和0比较大小?
#include int main () { unsigned int i; for(i = 9; i >= 0; --i) { printf("%u\n", i); } return 0; } 结果是 9 8 7 6 5 4 3 2 1 0 4294967295 …… 后面是是循环 unsigned int类型的数能不能和0比较大小??如果能的话是怎么比的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
friendly_
2009-07-24
打赏
举报
回复
i >= 0 ---------> i+1>0
code_zhang
2009-07-24
打赏
举报
回复
unsigned int 无符号整型 范围0~2^32-1
mstlq
2009-07-24
打赏
举报
回复
能比,只是永远都大于等于0而已,O(∩_∩)O哈哈~
wanjingwei
2009-07-24
打赏
举报
回复
你这个肯定无限循环了
晨星
2009-07-24
打赏
举报
回复
不是不能,而是unsigned int永远>=0。
实在不行,你可以试试:
for(i = 9; i >= 0 && i < i + 1; --i)
udsking
2009-07-24
打赏
举报
回复
[Quote=引用楼主 xiaoxibo 的回复:]
#include <stdio.h>
int main ()
{
unsigned int i;
for(i = 9; i >= 0; --i)
{
printf("%u\n", i);
}
return 0;
}
结果是
9
8
7
6
5
4
3
2
1
0
4294967295
……
后面是是循环
unsigned int类型的数能不能和0比较大小??如果能的话是怎么比的?
[/Quote]
i溢出!i=0满足条件,走循环,--i之后i溢出,变成非常大的一个正整数,继续循环之!
建议i=9;i>=0;--i改为i=10;i>0;--i
DarkChampion
2009-07-24
打赏
举报
回复
unsigned int类型就没有比0小的
DarkChampion
2009-07-24
打赏
举报
回复
i=0之后
0-1=0xffffffff
肯定大于0嘛
int
和
unsigned
int
比较大小
,vector的size()函
数
使用注意事项
int
和
unsigned
int
比较大小
,vector的size()函
数
使用注意事项 首先我们需要知道
int
与
unsigned
int
进行比较时,会先将
int
转换为
unsigned
int
进行比较,二者都是正
数
时没有问题,但是,当
int
的值为负
数
时,就会出现-1 > 1的情况,所以使用时要注意,最好是不用。 重点来了,vector 的size()函
数
返回的就是
unsigned
int
。 eg1: vector<
int
> nums; for(i = -1;i < nums.
【C++】两个例子解决
unsigned
int
与
int
运算问题
unsigned
:定义无符号
类型
,本身是
unsigned
int
的缩写。对于64位系统,取值范围为 0 ~ (2^32-1)。需要注意: 定义
unsigned
变量时需要保证为正
数
。
unsigned
int
变量和
int
变量在一起运算或比较时,会将
int
型转换为
unsigned
int
型(算术运算的隐式转换)。 超过
unsigned
范围时,会从范围的另一端取值(补码)。 由于上面三个特性的存在,衍生出很多问题: 1、
unsigned
int
型和
int
型
比较大小
,
int
-6会被转为 unsig
C判断char型和
unsigned
int
型
比较大小
转自:http://www.jeepxie.net/article/307272.html 昨天面试的最后一题,当时感觉做对了,后来用VC编译发现还是有问题-_-||,好吧,看来这就是没有offer原因 原题: #define MaxCount 200
int
LmiQueryCSmd(void) { char Num1 = 0;
unsigned
int
Num2; ...
int
与
unsigned
int
之间的运算与比较
int
a=-1;
unsigned
int
b=2; 请问 a+b>a是true还是false?a+b>b是true还是fals 正确答案是:false;false 这是因为,
int
与
unsigned
参与运算或者
比较大小
时,
int
均转为
unsigned
型。 假设机器为8位,由于a为-1,即1000 0001,补码为1111 1111;则a在内存中的表示:1111 1111;
c语言
unsigned
int
范围,
unsigned
int
32比特
数
据范围为-2147
提到
unsigned
,大家应该都了解,有朋友问c语言中
unsigned
什么意思,还有人想问c语言中的
unsigned
是什么意思,这到底是咋回事?事实上
unsigned
呢,下面是小编推荐给大家的
unsigned
int
,下面我们一起来看看吧!
unsigned
int
一、指代不同1、
int
:定义整
数
类型
变量的标识符。2、
unsigned
int
:需声明无符号
类型
的话就需要在
类型
前加上
unsigned
。...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章