小白适用的C语言数据类型转换及转换规则

db7ab7a5a7c6dc179be8ec4d70782562.png

点击上方蓝字关注我,了解更多咨询

62c24d19105b5558c53e93200d50317f.png

1.不同类型数据间的混合运算与类型转换:

①若参与运算量的类型不同,则先转换成同一类型,然后进行运算

②转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算

a、若两种类型的字节数不同,转换成字节数高的类型

b、若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型

③所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算

④char型和short型参与运算时,必须先转换成int型

⑤在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度左边长时,将丢失一部分数据

fb8825bfc9de60680c7e84960cfd4f53.png

2.C语言转换规则:

(1)整数和浮点型:

浮点型转换成整型时,小数部分被省略,如果其值不能被整型表示,则其行为未定义。注意:将负的浮点型转换成unsigned int 结果是没有定义的。

当把整型转换成浮点型时,如果该值是在可表示范围内,则结果可能是下一个较高或者较低的可表示值。如果结果在范围外,则行为未定义。

(2)浮点型:

将较低精读浮点型转换成较高浮点型时:值不变。

将较高精度转换成较低精度时:在范围内,值不变,在范围外,结果为定义

(3)整型提升:

如果原始类型都可以用int表示,则将其转换成int,否则被转换成unsigned int

(4)整型转换:

将unsigned 转换成 signed 时,如果可以在新类型表示,则表示,如果不能表示,结果与具体实现有关,将signed 转换成unsigned时,若unsigned位数窄,对二进制补码进行左截取,若unsigned宽,对signed进行符号扩展。

(5)指针和整数:

指针可加上或着减去一个整数,转换规则按照加法运算符号方式进行,两个指向同一数组的指针可进行加减运算,方式按照算数转换规则,值为0的整型常量或者void*型表达式可转换成任意类型的指针,指针可以转换成整型,注意整型必须足够大,整型对象可以转换成指针,一般用于将一个足够宽的从指针转换来的整型转换成(恢复)指针,不同类型的指针间可以相互转换,但必须满足内存对齐条件,一个指针可以转换成同意类型的另一个指针,但是可以增加或者删除另一个指针的限制符,如果和另一个指针,增加了相同的修饰符,则和另一个指针一样,如果删除了修饰符,则底层对象的运算仍受到原声明的限制。

382162770a8248da46d4d60d5f788afe.png

END

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

8d3de2ee52bd3b305d5234460293a29a.png

cae5abe48dbc302673ae33da86f5ce0e.gif

戳“阅读原文”我们一起进步

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

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

相关文章

jax-ws和jax-rs_带有JAX-RS和PrimeFaces的RESTful图表

jax-ws和jax-rs通常,利用图表提供数据的直观表示很有用。 PrimeFaces提供制图解决方案,可轻松将数据的可视表示形式添加到Web和移动应用程序中。 如果我们将PrimeFaces图表组件的使用与RESTful Web服务数据结合在一起,我们可以创建自定义图表…

udp 使用connect优点_nodejs源码分析第十九章 -- udp模块

udp不是面向连接的协议,所以使用上会比tcp简单,他和tcp一样,使用四元组来标记通信的双方(单播的情况下)。我们看看udp作为服务器和客户端的时候的流程。1 在c语言中使用udp1.1 服务器流程(伪代码&#xff0…

C语言与Java的对比,你想好选谁了吗?

点击上方蓝字关注我,了解更多咨询很多同学纠结自己应该学C语言还是学Java,本篇文章带你细致了解C语言与Java的各方面的不同之处,让你能够更全面的把握编程语言!1.Java与C语言各自的优势C语言是面向过程的语言,执行效率…

C语言:初始C语言

点击上方蓝字关注我,了解更多咨询什么是C语言为什么学习C语言?第一个C语言程序什么是C语言说到语言,可能会想到汉语,英语这些人与人之间交流的语言,语言是人与人之间沟通的桥梁,通过语言,我们得…

apache camel_带有调试器的Apache Camel Eclipse工具

apache camel大约2个月前, Lars Heineman在 JBoss工具堆栈中写了关于改进的Apache Camel Eclipse工具的博客。 在即将发布的版本中,他们将Camel调试器与本机Eclipse调试器集成在一起,因此当您使用断点时,您将获得Eclipse调试体验…

服务器皮肤在哪个文件里,服务器怎么使用皮肤

服务器怎么使用皮肤 内容精选换一换在使用云服务器备份制作的整机镜像创建弹性云服务器时,创建速度很慢,或者界面提示用户:该镜像不支持快速创建云服务器功能。CSBS服务早期提供的老备份格式无法支持快速创建云服务器,因此&#x…

c语言中?:的用法

点击上方蓝字关注我&#xff0c;了解更多咨询?:是C语言中的三目运算符&#xff0c;可以用来替代 if—else 语句。?:的使用方法为&#xff1a;<表达式1>?<表达式2>:<表达式3>它是对第一个表达式作真/假检测&#xff0c;然后根据结果返回另外两个表达式中的…

字符斜杠是合法常量吗_【面试秘籍】你对String的intern方法了解吗

我们先来看个例子&#xff1a;public class StringTest { public static void main(String[] args) { String a "A"; String b new String("A"); System.out.println(a b); // false String c b.intern(); Syst…

http协议下需要服务器推送吗,HTTP/2.0 服务器推送实现

前言HTTP/2.0发布于2015年&#xff0c;作为新一代HTTP协议&#xff0c;其由于推进互联网加密技术的使用&#xff0c;所以只能作用于https连接当中。HTTP/2.0提供HTTP语义的有效序列化&#xff0c;是一个二进制协议&#xff0c;所有的框架开始一个8字节的头&#xff0c;紧跟着的…

C语言最常用的编译器

点击上方蓝字关注我&#xff0c;了解更多咨询对于大部分工科类专业的学生来说&#xff0c;如果说是需要学习c语言的话&#xff0c;那选择编译器就是我们第一个遇到的问题了&#xff0c;这一类软件有很多&#xff0c;每一个软件都有他各自的优点&#xff0c;当然了也有他各自的缺…

word一键生成ppt 分页_如何一键把Word转换为PPT?

看到评论区有人问可以一键转换吗&#xff1f;当然可以&#xff0c;比如简单好用的【迅捷PDF转换器】迅捷PDF转换器 - 多功能的PDF转换成Word|JPG|PPT转换器安装打开软件之后&#xff0c;在PDF转换栏目下&#xff0c;点击PDF转换其它&#xff0c;就可以看到文件格式转PPT&#x…

jboss4 迁移_JBoss BPM Travel Agency的微服务迁移故事

jboss4 迁移不久前&#xff0c;我们启动了一个规模较大的JBoss Travel Agency演示项目&#xff0c;以展示JBoss BPM Suite的一些更有趣的功能。 我们提供了一系列视频 &#xff0c;不仅向您展示了如何安装它&#xff0c;项目中各种规则和流程工件的含义&#xff0c;还向您介绍…

windows系统c 实现ftp服务器,windows系统c 实现ftp服务器

windows系统c 实现ftp服务器 内容精选换一换弹性云服务器卸载磁盘。弹性云服务器状态为stopped时支持系统盘(也就是/dev/sda挂载点)和用户盘的卸载&#xff0c;没有操作系统限制&#xff0c;也不需要在弹性云服务器内部安装vmtools。弹性云服务器状态为active态时有如下约束限制…

怎么学好C语言数据结构?

点击上方蓝字关注我&#xff0c;了解更多咨询C语言的数据结构与算法&#xff0c;难就难在链表&#xff0c;学会了链表&#xff0c;可能后面就一点都不难了。书籍推荐《数据结构与算法分析—C语言描述版》&#xff0c;要深入学习的话可以选择这本书&#xff0c;因为针对链表的讲…

c# 去除转义符号_c#语法

一、.net面向对象什么是面向对象&#xff1f;1、面向对象编程英文 Object-Oriented Programming 简称 OOP2、面向过程——是指把问题分解成步骤&#xff0c;一步一步实现。面向对象——是把构成问题的事务分成各个对象&#xff0c;利用对象之间的关系来解决问题&#xff0c;面向…

win7系统如何访问xp系统的服务器,WIN7系统怎么让XP系统访问呢

WIN7系统怎么让XP系统访问呢如果你发现某些程序出现兼容性问题&#xff0c;你有以下4种选择&#xff1a;1) XP兼容模式。右击程序文件或开始菜单中的快捷方式&#xff0c;选择属性&#xff0c;点击兼容性选项&#xff0c;在下拉菜单中选择在XP环境下运行。2) 升级到最新版本&am…

C语言基础知识储备,给你送干货啦!

点击上方蓝字关注我&#xff0c;了解更多咨询C 语言的特点C 语言程序设计就是结构化程序设计&#xff0c;它的主要观点是采用自顶向下、逐步细分和模块化的程序设计方法&#xff0c;使用顺序、选择、循环三种基本控制结构来构造程序。世间万物都有两面性&#xff0c;C 语言既有…

dalsa工业相机8k参数_工业传感器再掀巨浪 | Teledyne 以80亿美元收购FLIR,互补性产品组合又增体量...

收购 / Acquisitions2021年1月4日&#xff0c;Teledyne和FLIR联合宣布&#xff0c;双方已经达成了一项最终协议&#xff0c;Teledyne将以价值约80亿美元的现金和股票交易收购FLIR。根据协议条款&#xff0c;FLIR股东将以每股FLIR股份的价格获得每股28美元的现金和0.0718股Tele…

配置多个git账号_docker随手笔记第七节 jenkins通过git部署java微服务插件安装

docker随手笔记第一节 docker概念及安装docker随手笔记第二节 docker常用命令解析docker随手笔记第三节 docker构建java镜像docker随手笔记第四节 docker安装mysql5.7docker随手笔记第五节 docker安装redis4.0jenkins部署git的java微服务需要如下插件SSH plugin (远程登陆到服务…

适合新手入门—嵌入式C语言

点击上方蓝字关注我&#xff0c;了解更多咨询你现在被数百种电子设备包围着&#xff0c;虽然这些设备表面看起来很简单&#xff0c;但它们的体内都运行着复杂的微处理器(或微控制器)。微处理器的功能由嵌入式系统软件控制、引导和监督。嵌入式软件和嵌入式硬件构成了一个嵌入式…