C语言(强制类型转换)

article/2025/10/1 7:37:36

 

一.类型转换原则

1.升级:当类型转换出现在表达式时,无论时unsigned还是signed的char和short都会被自动转换成int,如有必要会被转换成unsigned int(如果short与int的大小相同,unsigned short就比int大。这种情况下,unsigned short会被转换成unsigned int)。float会被自动转换成double

2.涉及两种类型的运算,两个值会被分别转换成两种类型的更高级别。

3.类型的级别从高到低依次是long double,double,float,unsigned long long,long long,unsigned long,long,unsigned int,int。例外的情况下,当long和int的大小相同时,unsigned int 比 long的级别高。之所以short和char类型没有列出,是因为它们已经被升级到int或unsigned int

4.降级:把一种类型转换成更低级别的类型

5.当作为函数参数传递时,char和short被转换成int,float转换成double

Int mice;

mice = 1.6 + 1.7 等于 3

下面我们来看一个例题。这里理解就好

首先看

f1 = i = ch = 'C';

‘C’的ASCII码为67,i用四个字节存储67.f1则接受由67转换的67.00

ch = ch + 1;

Ch+1,等于68,打印出来为D

i = f1 + 2 * ch;

I的运算,先2乘以ch,得到136。而为了和f1相加,136转换为浮点数,为136.0。在加上f1的值67.0得203.0,转换为int值就为203

f1 = 2.0 * ch + i;

首先ch68被转换为浮点数68.0,乘以2.i的值203也相应的转换为203.0,最后相加的339.0

ch = 1107;

ch属于char数据类型,只能存储一个字节数据,1107明显超出,所以我们%256(256为一个字节空间最大值)获得83.这是一个类型降级。至于为啥要%256,因为char的值只能在0到255之间,%之后就可以获得到后八位的内存值。

ch = 80.89;

flaot类型转为字符,变为80存储。相对应ASCII的字符为P

二.强制类型转换

大家学习了上面的自动类型转换其实也发现了这种转换的类型。不确定性会给程序的允许造成想不到的影响。所以在非要进行类型转换时,我们最好使用强制类型转换,把类型转换为我们所设想的类型。

使用就是

在量的前面放置用圆括号括起来的需要强制转换的类型名,我们来看个例子。

也可以这样


好了朋友们我们今天的内容到这就结束了,今天的内容到这里就结束了,如果有啥不会的朋友记得论坛里面提问哈~

如果朋友你感觉文章的内容对你有帮助,可以点赞关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈


http://chatgpt.dhexx.cn/article/6gxVfZih.shtml

相关文章

如何进行强制类型转换?

1、自动类型转换 自动类型转换就是编译器默默地、隐式地、偷偷地进行的数据类型转换,这种转换不需要程序员干预,会自动发生。 1) 将一种类型的数据赋值给另外一种类型的变量时就会发生自动类型转换,例如: float f 100; 100 是 i…

Java中的强制类型转换

尽管自动类型转换是很方便的,但并不能满足所有的编程需要。 例如,当程序中需要将 double 型变量的值赋给一个 int 型变量,该如何实现呢? 显然,这种转换是不会自动进行的!因为 int 型的存储范围比 doub…

C++的四种强制类型转换

目录 1、C语言中的类型转换 2、为什么C需要四种类型转换 3、C强制类型转换 static_cast reinterpret_cast const_cast dynamic_cast 4、RTTI(了解) 5、常见面试题 1、C语言中的类型转换 在C语言中,如果赋值运算符左右两侧类型不同&#…

Java中强制类型转换

Java中强制类型转换 一、整型强转 类型转换都是小范围向大范围转换的,大范围往小范围转化需要用到强制转换,转换后的值会有所损失。 不同数据类型精度由小到大排列如下:char-->byte --> short --> int --> long --> float --…

(强制)类型转换方法

目录 一、C语言中的类型转换 二、C中的强制类型转换 2.1 static_cast 2.2 reinterpret_cast 2.3 const_cast 2.4 dynamic_cast 2.5 总结 一、C语言中的类型转换 在C语言中,若赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或…

rgba 兼容性处理

根据caniuse&#xff08;http://caniuse.com/#searchrgba&#xff09;&#xff0c;rgba兼容性为IE9以及以上浏览器。 实例代码&#xff1a; 1 <!doctype html>2 <html lang"en">3 4 <head>5 <meta charset"UTF-8" />6…

rgba无效php,ValueError:无效的RGBA参数:导致此错误的原因是什么?

我正在尝试使用来自:this stackoverflow post的想法创建一个三维彩色条形图。 首先,我使用以下代码创建一个三维条形图:import numpy as np import matplotlib.colors as colors import matplotlib.cm as cm import matplotlib.pyplot as plt from mpl_toolkits.mplot3d imp…

scss @for与rgba函数巧妙使用

SCSS for与rgba函数使用 这里再次记录下~~~ 文章目录 SCSS for与rgba函数使用效果图templatejsscss其他用法each参数变量...占位符选择器 %fooat-root 效果图 template <template><view class"list"><view class"item" :class"[item-…

RGBA: 了解

RGBA: 了解 rgba&#xff08;0&#xff0c;0&#xff0c;0&#xff0c;0&#xff09;四个值&#xff0c;前三个值的范围是0~255之间的整数或0-100的百分数 前三个值&#xff0c;描述的是三原色&#xff0c;最后一个则代表透明度选值在0~1之间&#xff1a; 0 表完全透明 0.5…

CSS3 RGBA颜色

前面我们一起探讨了一下CSS3 Gradient&#xff08;css3 渐变&#xff09;&#xff0c;今天我们一起来探讨一下CSS3中的RGBA。RGB对于大家来说一点不陌生&#xff0c;他就是红色R绿色G蓝色B&#xff0c;那现在我们所说的RGBA又是什么呢&#xff1f;说得简单一点就是在RGB的基础上…

CSS3 RGBA

转载自&#xff1a;http://www.w3cplus.com/content/css3-rgba 前面我们一起探讨了一下CSS3 Gradient&#xff08;css3 渐变&#xff09;&#xff0c;今天我们一起来探讨一下CSS3中的RGBA。RGB对于大家来说一点不陌生&#xff0c;他就是红色R绿色G蓝色B&#xff0c;那现在我们…

rgba的使用

rgba有四个值&#xff0c;前三个值都是数字&#xff0c;用来调颜色&#xff0c;最后一个值表示透明度&#xff0c;值在0-1。 1表示不透明&#xff0c;0表示透明&#xff0c;0-1之间可以调整透明的程度 最后值为0时 <!DOCTYPE html> <html><head><meta ch…

rgba无效php,rgba设置的背景透明没用啊

本来跟着老师的做的&#xff0c;设置了background-color: rgba(255,255,255,0.1);结果就成上边的样子了&#xff0c;求大神指导啊&#xff0c;啊啊啊啊.graySection .articlPreview .imgSection { width: 45%; } .imgSection img { width: 100%; } .graySection .articlPreview…

html边框白色实线rgba,CSS3 RGBA 属性高级用法

这个属性的兼容问题比较简单&#xff0c;IE8已经支持这个属性&#xff0c;IE6和IE7也可以通过hack支持。RGBA和CSS2里的RBG属性差不多&#xff0c;只是RGBA属性多了一个透明度的定义&#xff0c;CSS3标准里对RGBA属性的解释如下&#xff1a; /* 基本语法 */em { color: Rgba(re…

CSS中RGBA和渐变色

颜色值RGBA 我们熟悉的rgb颜色标准&#xff0c;是由r&#xff08;red&#xff09;、g&#xff08;green&#xff09;、b&#xff08;blue&#xff09;三种颜色叠加变化形成各种颜色 取值0-255&#xff0c;或0-100% rgba就是在rgb基础上增加了alpha不透明度参数 .demo {width…

Drools入门介绍

Drools 介绍 是一个业务规则管理系统&#xff0c;具有基于前向链和后向链推理的规则引擎&#xff0c;允许对业务规则和复杂事件处理进行快速可靠的评估。规则引擎也是创建专家系统的基本构建块&#xff0c;在人工智能中&#xff0c;专家系统是模拟人类专家决策能力的计算机系统…

Drools入门系列

Drools入门系列&#xff08;一&#xff09;HelloWorldDrools入门系列&#xff08;二&#xff09;HelloWorld详解之Sample.drlDrools入门系列&#xff08;三&#xff09;HelloWorld详解之kmodule.xmlDrools入门系列&#xff08;四&#xff09;HelloWorld详解之JUnit Test类Drool…

初探Drools

文章目录 背景一、Drools基本概念1.1 规则引擎1.2 Drools简介 二、Drools基本用法2.1 规则文件2.2 配置文件2.3 数据驱动 三、Drools进阶用法3.1 DSL语言3.2 其他 四、Workbench五、android端集成六、类比其他Java规则引擎七、应用场景与展望 背景 笔者最近在研究、使用Java规…

Drools学习01

Drools学习 1.springbootdroolsstringTemplate 1.1主要依赖导入 <!--使用drools的主要依赖--> <dependency><groupId>org.drools</groupId><artifactId>drools-compiler</artifactId><version>7.73.0.Final</version> <…

Drools基础语法

Drools基础语法 规则文件构成 在使用Drools时非常重要的一个工作就是编写规则文件&#xff0c;通常规则文件的后缀为.drl。 drl是Drools Rule Language的缩写。在规则文件中编写具体的规则内容。 一套完整的规则文件内容构成如下&#xff1a; Drools支持的规则文件&#xff…