隐式类型转换(整型提升和截断)、强制类型转换的总结

简介: 隐式类型转换(整型提升和截断)、强制类型转换的总结

前言

       在写了这么久的习题博客,我发现其中非常爱考查的一个知识就是类型的转换,比如不同类型之间的加减乘除、比较大小和赋值运算等,这里面涉及最为多的就是隐式类型转换,所以在此专门写一个关于类型转换的知识点总结,也希望大家多多支持,一起努力!

一、隐式类型转换

       其中最热门的考点之一就是隐式类型的转换,直接介绍转换规则:

1. 转换规则

1. 低字节的类型转换成高字节的类型(char -> short -> int -> long -> float -> double)

2. 有符号数转换成无符号数

3. 转换的时候,不是改变原变量的类型,而是原变量拷贝一个临时变量,让这个临时变量去改变,原变量不变;

4. 在赋值运算符中,左操作数的字节数小于右操作数,会发生截断,反之为提升

2. 整型提升:

在面对低字节到高字节的转换,发生的就是整型提升

【规则】

1. 无符号数的提升,高位补0

2. 有符号数的提升,高位补符号位

3. 截断

高字节转换为低字节,发生截断

【规则】

1. 截断从低位开始一个一个数,数到对应的字节处截断

2. 截断之后,如果是个无符号数,那最高位的数字就是数值位

3. 截断之后,如果是个有符号数,那最高位的数字就是符号位

二、强制类型转换

这是一种显式的类型转换,直接在变量前面用括号加上我们要转换成的类型

【规则】

1. 不影响原变量的类型,只是拷贝了一个临时变量,作为转换的对象;

2. 同样会发生整型提升和截断;


相关文章
|
7月前
|
存储 C语言 C++
截断&&整型提升&&算数转换
截断&&整型提升&&算数转换
|
7月前
|
编译器 C语言
C语言中整数如何自动转换为浮点数
C语言中整数如何自动转换为浮点数
448 0
|
7月前
整数常量
整数常量。
43 0
|
C语言
C语言:截断+整型提升+算数转换练习
截断+整型提升+算数转换练习
74 0
类型转换字符的使用
类型转换字符的使用
55 0
|
6月前
类型转换字符f的使用
【6月更文挑战第24天】类型转换字符f的使用。
38 4
|
7月前
|
存储 Java 程序员
强制类型转换运算符的深入解析
在编程中,类型转换是一个常见的操作,它允许我们将一个数据类型转换为另一个数据类型。在某些情况下,编译器可以自动执行这种转换,称为隐式类型转换。但在其他情况下,需要程序员显式地指定转换,这就是所谓的强制类型转换。
44 0
|
7月前
|
存储 Shell C语言
【C/C++ 字符串与整型转换函数】探索C语言中的字符串和整型之间的转换函数
【C/C++ 字符串与整型转换函数】探索C语言中的字符串和整型之间的转换函数
84 0
|
7月前
字符串拼接时数值类型相加引发的问题
字符串拼接时数值类型相加引发的问题
34 2
|
C语言 索引
操作符续(整型提升与算术转换)
操作符续(整型提升与算术转换)
91 0