今天看面试宝典看到这样的一道题目

void foo(void){unsigned int a = 6;int b = -20;(a+b>6)?puts(">6"):puts("<6");
}

问输出结果是什么

答案:>6

这个问题测试是否懂得C语言中的整数自动转换原则,有些开发者懂得极少这些东西。当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。因此,从这个意义上讲,无符号数的运算优先级要高于有符号数,这一点对于应当频繁用到无符号数据类型的嵌入式系统来说是丰常重要的。 

现做个测试的例子

#include <stdio.h>int main(){unsigned int a = 6;int b = -20;//printf("a+b=%u\n",(a+b));(a>b)?puts("6"):puts("-20");return 0;
}

这程序的输出结果是什么

答案:-20

这就不难理解,在进行有符号数和无符号数比较时,先将有符号数转换为无符号数,再来比较

现在我们再看看这个程序

#include <stdio.h>int main(){unsigned int a = 6;int b = -20;printf("a+b=%u\n",(a+b));(a+b>6)?puts(">6"):puts("<6");return 0;
}

答案:a+b=4294967282

>6

注:%u 输出无符号十进制整数

C语言无符号有符号比较问题总结相关推荐

  1. c语言无符号字符型5是什么,C语言中无符号型别是什么意思啊?

    C语言中无符号型别是什么意思啊?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C语言中无符号型别是什么意思啊? 无符号 ...

  2. c语言之无符号/有符号数加减法运算

    c语言之无符号/有符号数加减法运算 转自:http://www.360doc.com/content/12/1129/15/1317564_250977880.shtml 1.加减运算指令是不区分有符 ...

  3. c语言无符号整型右移,c语言 java 有符号数,无符号数. 左移,右移运算

    1: c语言区分有符号数,无符号数.有符号数是符号位在首位,无符号数首位就是普通位数. java只有有符号数,换句话说java二进制中首位都是符号位.0正1负. 2: 左移在所有语言中只是左移,不存在 ...

  4. c语言 无符号单字节,c语言 无符号单字节

    c语言: qq唯美搞笑个性签名_个性签名 唯美,缺失:c语言无符号单字节6172/5 1.再完美的孤独,算不算美中不足. 2.花自飘零水自流,一种相思,两处闲愁. 此情无处可消除,才下眉头,却上心头. ...

  5. c语言无符号扩展,深入理解计算机系统(2.4)---C语言的有符号与无符号、二进制整数的扩展与截断...

    开篇请各位猿友允许LZ啰嗦几句,最近一直在写计算机系统原理这系列文章,也已经下定决心要把这本书的内容写完.主要目的其实是为了巩固LZ的理解,另外也想把这些内容分享给猿友们,毕竟LZ觉得这些内容对程序猿 ...

  6. c语言中的无符号字符指什么,深入分析C语言中的有符号和无符号

    有符号和无符号指的是数字那么有符号和无符号的区别是什么,我们这里一起来看在C语言中的有符号和无符号分析吧,希望这篇文章能够对各位有用. 就像我们必须决定某个量使用整数还是实数,使用多大的范围数一样,我 ...

  7. C语言中的有符号数和无符号数之间转换

    C语言中的有符号数和无符号数之间转换 我们都知道C语言中有有符号数和无符号数两种整数表示方法,并且支持相互转换. 那么具体相互转换有什么规则,我们今天来了解一下: 在C语言中当声明一个像12345或0 ...

  8. c语言的常用关键字和标志符号,c语言关键字及常用符号

    <c语言关键字及常用符号>由会员分享,可在线阅读,更多相关<c语言关键字及常用符号(3页珍藏版)>请在装配图网上搜索. 1.C语言关键字及常用符号32个关键字auto :声明自 ...

  9. c语言弱符号与函数指针,浅谈C语言中的强符号、弱符号、强引用和弱引用【转】...

    首先我表示很悲剧,在看<程序员的自我修养--链接.装载与库>之前我竟不知道C有强符号.弱符号.强引用和弱引用.在看到3.5.5节弱符号和强符号时,我感觉有些困惑,所以写下此篇,希望能和同样 ...

  10. c语言 8位有符号整数,C语言中什么是一个8位的整数

    匿名用户 1级 2013-08-05 回答 [8位整数] 计算机中存储数据,是以二进制的形式存储(有时也被表示为16进制). 二进制8位 就是 0000 0000 到 1111 1111 (换算成十进 ...

最新文章

  1. Plotly可视化输出数据表格(table):简单表格、添加链接的表格
  2. mysql基于时间盲注_MYSQL基于时间的盲注详解
  3. 图像归一化处理 相同像素_图像处理学习笔记(九)——灰度直方图及其均衡化(理论篇)...
  4. 【学习笔记】22、读写文件(I/O操作)— 读文件
  5. 非 GUI 模式运行 JMeter 压力测试
  6. python求出五位数的回文数_python之递归
  7. python3.6串口编程实例_使用python3实现操作串口详解
  8. Python中的传值和引用
  9. python 正则表达式 compile_使用compile()函数编译正则表达式【Python技术文章】
  10. python新闻标题分类_机器学习也会“标题党”?这个算法能根据标题判断新闻类别...
  11. 海思SDK学习(10)海思媒体处理软件平台MMP(9)AUDIO音频
  12. 你要找的cocos面试答案都在这里了!
  13. mysql中的case when 与if else
  14. oracle 分页语句效率高,Oracle 10g SQL分页查询语句和效率分析
  15. 腰椎间盘突出的意外之旅以及自己的治疗恢复经历
  16. Axure 原型基本介绍
  17. linux 上u盘打不开,U盘打不开的解决办法(图文)
  18. 递归 求阶乘 C语言
  19. java前叉断裂_前交叉韧带断裂保守治疗经典病例
  20. es - elasticsearch - aggs - metrics - value_count

热门文章

  1. TutorAB拿下中国美院英语课程采购项目 助力中国艺术走向世界
  2. 【教程】微信公众号如何添加文档附件,如word、excel、pdf等?
  3. 跳动的爱心代码--李峋爱心代码(完整源码)
  4. linux去除重复字符,Linux去除重复项命令uniq
  5. 通过ip查看主机名和MAC地址的cmd命令
  6. 企业微信hook接口,协议开发,群操作功能教程
  7. Springboot 对应XSS漏洞类配置处理
  8. Docx 生成word文档
  9. 智能手环方案开源(含源码,原理图,APP,通信协议等) ...
  10. Pytorch中transforms.Compose()的使用