|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ -2u<-1u 运算值为1,该怎么理解呢?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
5259
人关注过本帖
标题:
-2u<-1u 运算值为1,该怎么理解呢?
只看楼主
加入收藏
powerfrank
等 级:
论坛游民
帖 子:31
专家分:37
注 册:2018-4-25
结帖率:
80%
楼主
收藏
已结贴
√
问题点数:2 回复次数:15
-2u<-1u 运算值为1,该怎么理解呢?
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("%d\n",-2u<-1u);
system("pause");
return 0;
}
运行后的结果是
1
-2u < -1u 这个式子怎么理解呢?
像 -1 > 0u 这个式子运算结果是 0 ,我的理解是 -1 要先转换成 unsigned类型,结果要远大于 0u 。
搜索更多相关主题的帖子:
运算
include
运行
结果
转换
2018-11-09 15:43
举报帖子
使用道具
赠送鲜花
rjsp
等 级:
版主
威 望:
528
帖 子:9025
专家分:54030
注 册:2011-1-18
第
2
楼
收藏
得分:1
-2u 是 0xFFF……FFFE
-1u 是 0xFFF……FFFF
0xFFF……FFFE 小于 0xFFF……FFFF 没毛病呀
2018-11-09 15:56
举报帖子
使用道具
赠送鲜花
rjsp
等 级:
版主
威 望:
528
帖 子:9025
专家分:54030
注 册:2011-1-18
第
3
楼
收藏
得分:0
我猜,你难道是不晓得 -2u、-1u 依然是 unsigned 类型?
2018-11-09 16:01
举报帖子
使用道具
赠送鲜花
powerfrank
等 级:
论坛游民
帖 子:31
专家分:37
注 册:2018-4-25
第
4
楼
收藏
得分:0
回复 2楼 rjsp
大神,16进制的看得我头晕
是否这么理解?
-2u 和 -1u 都要先转成带符号的整型类型如 int 、long等,再进行比较?
2018-11-09 16:02
举报帖子
使用道具
赠送鲜花
powerfrank
等 级:
论坛游民
帖 子:31
专家分:37
注 册:2018-4-25
第
5
楼
收藏
得分:0
回复 3楼 rjsp
头晕啊,数据类型好难理解。理解不好就学不好数据结构,数据结构学不好就谈不上编程
2018-11-09 16:03
举报帖子
使用道具
赠送鲜花
Tomorrw_I
等 级:
禁止访问
威 望:
6
帖 子:406
专家分:1712
注 册:2018-10-16
第
6
楼
收藏
得分:1
回复 5楼 powerfrank
至于嘛。暂时实在理解不了得,就先放放,往后学!
学着学着,前面的有些东西,也就理解了!
不要钻牛角尖
学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-09 16:05
举报帖子
使用道具
赠送鲜花
powerfrank
等 级:
论坛游民
帖 子:31
专家分:37
注 册:2018-4-25
第
7
楼
收藏
得分:0
回复 6楼 Tomorrw_I
其实就只是想搞懂
-2u < -1u 在机器中计算的运行原理,-2u和-1u在二进制中各是多少
2018-11-09 16:10
举报帖子
使用道具
赠送鲜花
zbjzbj
来 自:郑州
等 级:
贵宾
威 望:
52
帖 子:633
专家分:3045
注 册:2011-4-22
第
8
楼
收藏
得分:1
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("%d
%d\n",-2u,-1u);
printf("%d\n",-2u<-1u);
//system("pause");
return 0;
}
2018-11-09 16:41
举报帖子
使用道具
赠送鲜花
lin5161678
等 级:
贵宾
威 望:
45
帖 子:1136
专家分:3729
注 册:2011-12-3
第
9
楼
收藏
得分:1
这是对负数理解有偏差了
C里面 -2 这个表达式 其实是
一元 - 运算符
和 整型常量表达式 2 组成的
可以理解为
- (2)
这样看就好理解了
这里 2u 是 unsigned int
一元 - 运算符 对一个 unsigned int 进行运算
求值结果是一个unsigned int
https://zh.
2018-11-09 16:45
举报帖子
使用道具
赠送鲜花
powerfrank
等 级:
论坛游民
帖 子:31
专家分:37
注 册:2018-4-25
第
10
楼
收藏
得分:0
回复 9楼 lin5161678
那这个unsigned int 类型的结果是多少?
int类型在二进制中最高位0表示+,1表示-
unsigned int类型没有表示符号的位
那-2u用二进制表示的话,是多少?
2018-11-09 17:01
举报帖子
使用道具
赠送鲜花
16
1/2页
1
2
快速回复:
-2u<-1u 运算值为1,该怎么理解呢?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.047408 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved