算术类型转换、整型提升

分享一个很有意思的小tip
有人在编写代码时运行出了一个让人摸不着头脑的结果:
在这里插入图片描述

-20>0U 怎么会是真值呢??

这位朋友还特意检验了一下0U的值,当然是0没错。可是出现这样的结果到底是为什么呢?

这就涉及到c语言中的算术类型转换的问题了:
根据操作数的不同,某些运算符会引起操作数的值从某种类型转换成另一种类型。其效果是将所有操作数转换为同一公共类型,并以此类型为结果。

首先,如果任一操作数为long double类型,则另一操作数将转换为long double类型.

否则,如果任一操作数为double类型,则另一操作数将转换为double类型.

否则,如果任一操作数为float类型,则另一操作数将转换为float类型.

否则,同时对这两个操作数进行整型提升.

如果任一操作数为long int类型,另一操作数为unsigned int类型,此时取决于long int能不能表示完所有unsigned int类型的数。
如果可以则转换为long int; 如果不可以则将两个操作数都转换为unsigned long int类型

否则,如果任一操作数为long int类型,则另一操作数将转换为long int类型.

否则,如果任一操作数为unsigned int类型,则另一操作数将转换为unsigned int类型.(这也是对上面问题的解答)

否则两个操作数都转换为int类型.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/426720.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python博客编程_python编程

一.程序是什么? 程序,就是让机器按我们需求运行的一套代码。二.编程是什么? 编程,就是编写程序。三.编程语言是什么? 编程语言,就是编写程序的语言。四.编程语言的发展? 机器语言(二进制语言) →…

java学习(1):学生管理系统1

最近又想开始接触java了,写了一个简单的学生管理系统找找感觉,分为三部分,适合萌新使用。 实现初步功能 1建立一个student的java类 import java.util.*; public class student { public static void main(String[] args){ //输入人数 Scanner…

Mysql解压版配置

mysql安装包可到官网下载,地址:https://dev.mysql.com/downloads/mysql 1、首先解压文件包,我这解压到E:\install_work\mysql目录下: 2、发现mysql根目录下没有data目录和my.ini文件,不要紧,初始化mysql的时…

文件的输入和输出:流和缓冲区的概念和文件操作函数总结

流和缓冲区的概念理解 流(stream) A stream is a source or destination of data that may be associated with a disk or other peripheral. 流(stream)是与磁盘或其它外围设备关联的数据的源或目的地。 Streams are a portable …

python利用有道词典翻译_使用Python从有道词典网页获取单词翻译

从有道词典网页获取某单词的中文解释。import reimport urllibwordraw_input(input a word\n)urlhttp://dict.youdao.com/search?q%s%wordcontenturllib.urlopen(url)patternre.compile("",re.DOTALL)resultpattern.search(content.read()).group()pattern2re.compi…

java学习(2):学生管理系统2

这是继续修改后的代码,亲测可用 增加一个二位数组存储数据 import java.util.; public class student { public static void main(String[] args){ //存储学生人数 Scanner in new Scanner(System.in); System.out.println(“请输入学生人数:”); //存储…

[BZOJ1444]有趣的游戏(AC自动机+矩阵乘法)

n个等长字符串,机器会随机输出一个字符串(每个字母出现的概率为p[i]),问每个字符串第一个出现的概率是多少。 显然建出AC自动机,套路地f[i][j]表示i时刻位于节点j的概率。 构建转移矩阵,当i为某个子串结束节…

web前端开发——HTML学习

WEB前端开发 W3C学习网站 MDN学习网站 HTML 从语义角度&#xff0c;描述页面结构 语言不区分大小写&#xff0c;特殊字符要求全小写 html5文件结构 快速编辑&#xff1a;Tab键 <!DOCTYPE html> 文档类型&#xff1a;符合HTML5标准 <htmml lang"en"&…

python群发短信脚本_python实现zabbix发送短信脚本

本文实例为大家分享了zabbix发送短信的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下使用方法./sendSMS.py PHONE_NUMBER args_2 SMS_MSG接收参数输入参数一: 接收手机号(zabbix传来的第1个参数&#xff0c;报警接收手机号)&#xff0c;第一个参数可以对比发送邮件的…

java学习(3):学生管理系统3

总计分为六次修改&#xff0c;代码可直接拿出来用&#xff0c;建立一个类即可&#xff0c;注意类名同步 解决总分平均分问题 import java.util.*; public class student { public static void main(String[] args){ //存储学生人数 Scanner in new Scanner(System.in); System…

第二次作业重交

一、项目简介 1、Gitee项目地址&#xff1a;https://gitee.com/xnsy/WC 2、开发语言&#xff1a;C#语言 3、解题思路 刚看完作业要求后&#xff0c;只知道这个程序要完成对文件的统计工作&#xff0c;但是对于程序设计仍然是一头雾水&#xff0c;而后百度了怎么编写wordcount程…

2021/1/18

在家宅了两天&#xff0c;寒假立的flag不能就这样倒了&#xff0c;今天开始学数据结构和算法还有前端开发&#xff0c;不然我连寒假作业都写不完QAQ。

java学习(4):第一个java程序

1第一个java文件 编写一个.java后缀的文件 public class helloworld{ public static void main(String[] args){ System.out.println(“helloworld”); } } 2cmd 编译java javac helloworld 生成class文件使用 Java helloworld 输出helloworld结束 个人练习 public class test…

python单元测试的应用_单元测试pythongui应用程序的推荐方法是什么?

我目前愚蠢到试图为Python桌面应用程序维护两个并行代码基&#xff0c;一个使用PyGObject introspection for GTK 3&#xff0c;另一个使用PyGTK for GTK 2。我主要在PyGObject分支上工作&#xff0c;然后将变更移植到PyGTK分支上。由于这些实现之间的所有细微差异&#xff0c;…

洛谷P2480 [SDOI2010]古代猪文(卢卡斯定理+中国剩余定理)

传送门 好吧我数学差的好像不是一点半点…… 题目求的是$G^{\sum_{d|n}C^d_n}mod\ 999911659$ 我们可以利用费马小定理$a^{k}\equiv a^{k\ mod\ (p-1)}(mod\ p)$ 然后组合数可以直接用Lucas搞 那么就做完啦 然而$p-1$并不是质数orz&#xff0c;费马小定理不能用 那么我们考虑把…

java学习(5):全局变量和局部变量

public class qulitity{ static int num125; public static void main(String[] args){ System.out.println(“全局变量的值为”num1); int num212; System.out.println(num2); Test(); } public static void Test(){ int num21000; System.out.println(num2); } }

C语言知识点笔记完全整理

这个大长篇相当于是自己对于c语言学习的一个总结&#xff0c;会持续更新完善。 后续会在寒假整理一些经典的例题附带题解&#xff0c;当然希望我学到的东西、总结的经验&#xff0c;能够给后来者提供一个更好的学习途径&#xff0c;从入门到精通而不再是放弃。 也欢迎读者提出…

ajax 微信code获取_获取链接的参数,判断是否是微信打开,ajax获取数据

//获取链接参数function GetQueryString(name) {var reg new RegExp("(^|&)" name "([^&]*)(&|$)");var r window.location.search.substr(1).match(reg);if (r ! null) return unescape(r[2]); return null;}function is_weixin() {var u…

[HAOI2016]食物链

题目描述 如图所示为某生态系统的食物网示意图&#xff0c;据图回答第1小题现在给你n个物种和m条能量流动关系&#xff0c;求其中的食物链条数。物种的名称为从1到n编号M条能量流动关系形如a1 b1a2 b2a3 b3......am-1 bm-1am bm其中ai bi表示能量从物种ai流向物种bi,注意单独的…

java学习(6):数据类型

public class Shortdata{ public static void main(String[] args){ byte by 45; short sho 32767; System.out.println(“sho的值是”sho); //获取最大值 System.out.println(Byte.MAX_VALUE); System.out.println(Short.MAX_VALUE); //获取最小值System.out.println(Byte.M…