野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 274397|回复: 1201

【每日一题】-1和1的数值比较

  [复制链接]
发表于 2014-2-19 00:00:19 | 显示全部楼层 |阅读模式
分析下面的代码,求运行结果
  1. int main()
  2. {
  3.     if(-1L > 1UL)
  4.         printf("1\n");
  5.     else
  6.         printf("0\n");
  7.     return 0;
  8. }
复制代码
请回答问题后再看答案哦,否则 每日一题 就没有意义了。
答错的,讲一下 为什么 会答错 呗!


常量后面接L表示long型存储,U表示unsigned,F表示float

此题的关键是 -1L > 1UL

一个是long型,一个是unsigned long型,无符号和有符号的比较,那么编译器会把有符号的转换为无符号。
-1L = 0xFFFFFFFF
1UL = 0x00000001

因为 0xFFFFFFFF > 0x00000001 ,所以 -1L > 1UL

运行结果为:打印1

回复

使用道具 举报

发表于 2020-5-13 14:14:34 | 显示全部楼层
答案是:1?
回复

使用道具 举报

发表于 2020-5-13 08:42:04 | 显示全部楼层
两个不同类型的数比较,看编译器怎么转换数据类型。我认为转换成有符号型再比较,结果为0
回复 支持 反对

使用道具 举报

发表于 2020-5-13 05:47:23 | 显示全部楼层
又是編譯器的默認規則,這些問題都很調專。
回复 支持 反对

使用道具 举报

发表于 2020-5-13 05:45:28 | 显示全部楼层
輸出是0.。。。。。。。
回复

使用道具 举报

发表于 2020-3-15 15:41:35 | 显示全部楼层
进来学习一下
回复 支持 反对

使用道具 举报

发表于 2020-3-12 15:16:31 | 显示全部楼层
1,负数在计算机中用补码表示,两个数比较大小,会和编译器有关系吧
回复 支持 反对

使用道具 举报

发表于 2020-3-12 15:00:54 | 显示全部楼层
来看看解释的
回复 支持 反对

使用道具 举报

发表于 2020-2-18 14:51:39 | 显示全部楼层
输出1.。。。。。。。。。。。。。
回复

使用道具 举报

发表于 2020-2-16 08:46:37 | 显示全部楼层
6666666666666666666666
回复 支持 反对

使用道具 举报

发表于 2020-2-15 22:54:38 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

发表于 2020-2-9 14:02:08 | 显示全部楼层
来看看答案  是 是是是是什么
回复 支持 反对

使用道具 举报

发表于 2020-2-9 09:24:53 | 显示全部楼层
学习学习了哈哈哈
回复 支持 反对

使用道具 举报

发表于 2020-2-8 23:33:09 | 显示全部楼层
学习一下,谢谢
回复 支持 反对

使用道具 举报

发表于 2020-2-6 23:04:24 来自手机 | 显示全部楼层
1吧,应该打印出来是1
回复 支持 反对

使用道具 举报

发表于 2020-1-21 09:43:53 | 显示全部楼层
答案是printf1吗
回复 支持 反对

使用道具 举报

发表于 2020-1-15 15:45:07 | 显示全部楼层
不知道啊啊
回复 支持 反对

使用道具 举报

发表于 2020-1-13 12:27:05 | 显示全部楼层
00;;;。。。。。。。。。。。。。
回复

使用道具 举报

发表于 2020-1-3 17:51:22 | 显示全部楼层
学习/。。。。。。。。。。。。
回复

使用道具 举报

发表于 2019-12-31 21:24:03 | 显示全部楼层
输出1,猜的
回复

使用道具 举报

发表于 2019-12-25 17:12:09 | 显示全部楼层
不是很懂补码,强制转换再比?
回复 支持 反对

使用道具 举报

发表于 2019-12-23 21:48:31 | 显示全部楼层

答案是1  , 大概知道负数的保存形式应该是补码
回复 支持 反对

使用道具 举报

发表于 2019-12-21 11:00:03 | 显示全部楼层
1,补码存储
回复

使用道具 举报

发表于 2019-12-20 17:01:03 | 显示全部楼层
这个还限制自数码是不是
0
回复 支持 反对

使用道具 举报

发表于 2019-12-19 17:34:02 | 显示全部楼层

对字节
回复

使用道具 举报

发表于 2019-11-4 09:16:14 | 显示全部楼层
返回值0,猜的
回复 支持 反对

使用道具 举报

发表于 2019-10-26 16:10:23 | 显示全部楼层
运行结果为0
回复 支持 反对

使用道具 举报

发表于 2019-10-20 13:54:44 | 显示全部楼层
1                                                     
回复 支持 反对

使用道具 举报

发表于 2019-9-20 11:48:03 | 显示全部楼层
输出 0      
回复 支持 反对

使用道具 举报

发表于 2019-9-16 15:24:51 | 显示全部楼层

输出为1吧,两个不同类型的数据比较,应该会转换成无符号类型。。
回复 支持 反对

使用道具 举报

发表于 2019-9-16 13:59:05 | 显示全部楼层
signed 和 unsigned 比较,-1 > 1
回复 支持 反对

使用道具 举报

发表于 2019-8-14 11:53:37 来自手机 | 显示全部楼层
1a_a great
回复

使用道具 举报

发表于 2019-8-14 11:11:58 | 显示全部楼层
按补码形式保存的吧

测试

测试
回复 支持 反对

使用道具 举报

发表于 2019-8-13 08:29:56 | 显示全部楼层
1111111111111111111
回复 支持 反对

使用道具 举报

发表于 2019-8-12 18:29:04 | 显示全部楼层
因为,寄存器里面计算的时候都会转为补码,所以就是 0x1001取反+1,0xFFFE+1=0XFFFF
回复 支持 反对

使用道具 举报

发表于 2019-8-6 17:07:22 | 显示全部楼层
1.....................
回复

使用道具 举报

发表于 2019-8-5 19:44:27 | 显示全部楼层
答案是输出1,,,
回复 支持 反对

使用道具 举报

发表于 2019-8-5 11:31:40 | 显示全部楼层
-1L存储,最高位表示符号位,1表示负,所以肯定大于1UL
回复 支持 反对

使用道具 举报

发表于 2019-8-4 22:38:16 | 显示全部楼层
123123123123
回复 支持 反对

使用道具 举报

发表于 2019-8-4 16:18:32 | 显示全部楼层
if(-1 > 1)
        printf("1\n");
    else
        printf("0\n");
回复 支持 反对

使用道具 举报

发表于 2019-7-31 09:48:32 | 显示全部楼层
是原码补码的问题吗?
回复 支持 反对

使用道具 举报

发表于 2019-7-30 20:58:11 | 显示全部楼层
答案为1
回复

使用道具 举报

发表于 2019-7-22 20:42:13 | 显示全部楼层
1                     
回复 支持 反对

使用道具 举报

发表于 2019-7-20 15:40:21 | 显示全部楼层
看看答案!
回复

使用道具 举报

发表于 2019-7-18 17:23:53 | 显示全部楼层
答案应该是1
回复 支持 反对

使用道具 举报

发表于 2019-7-16 08:59:31 | 显示全部楼层
学习。。。。。。。。。。。。
回复

使用道具 举报

发表于 2019-6-27 08:58:53 | 显示全部楼层
1                                
回复 支持 反对

使用道具 举报

发表于 2019-6-27 08:47:35 | 显示全部楼层
-1和1的数值比较
回复 支持 反对

使用道具 举报

发表于 2019-5-10 01:32:41 | 显示全部楼层
学习                 
回复 支持 反对

使用道具 举报

发表于 2019-5-7 13:59:22 | 显示全部楼层
支持支持支持
回复 支持 反对

使用道具 举报

发表于 2019-5-6 16:22:17 | 显示全部楼层
看看啊。。。。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-3-29 17:19 , Processed in 0.048214 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表