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

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

前言

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

一、隐式类型转换

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

1. 转换规则

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

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

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

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

2. 整型提升:

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

【规则】

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

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

3. 截断

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

【规则】

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

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

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

二、强制类型转换

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

【规则】

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

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


相关文章
|
前端开发 JavaScript API
使用 JavaScript 检测系统主题色
使用 JavaScript 检测系统主题色
752 0
|
NoSQL Linux 编译器
Linux下交叉编译gdb,gdbserver+gdb的使用以及通过gdb调试core文件
交叉编译gdb和gdbserver 1、下载gdb:下载地址为:http://ftp.gnu.org/gnu/gdb/按照一般的想法,最新版本越好,因此下载7.2这个版本。当然,凡事无绝对。我们以gdb-7.2.tar.bz2 这个文件为例。
8379 1
|
C语言 芯片
【嵌入式系统】存储器映射与寄存器映射原理
【嵌入式系统】存储器映射与寄存器映射原理
710 0
【嵌入式系统】存储器映射与寄存器映射原理
|
存储 安全 Java
Java一分钟之-泛型擦除与类型安全
【5月更文挑战第20天】Java泛型采用类型擦除机制,在编译期间移除泛型信息,但在编译阶段提供类型安全检查。尽管需要类型转换且可能产生警告,但可以通过特定语法避免。使用泛型时应注意自动装箱拆箱影响性能,无界通配符仅允许读取。理解这些特性有助于编写更安全的代码。
360 4
|
消息中间件 存储 网络协议
操作系统的心脏:深入理解进程间通信(IPC)机制
在现代计算机系统中,操作系统扮演着至关重要的角色,而进程间通信(IPC)作为操作系统的核心功能之一,极大地影响着系统的性能和稳定性。本文将通过浅显易懂的语言,详细探讨进程间通信的基本原理、主要类型及其实际应用,旨在为读者提供一个清晰且全面的理解和认识。 ##
929 1
路由不跳转,常见流程-----ElementPlus如何点击某页跳转页,el-menu中必须加上router=“true“,否则不跳转,index写完成路由路径就行,后面的router也写完整的
路由不跳转,常见流程-----ElementPlus如何点击某页跳转页,el-menu中必须加上router=“true“,否则不跳转,index写完成路由路径就行,后面的router也写完整的
|
算法 调度
【操作系统】处理机调度的基本概念和三个层次、进程调度的时机和方式、调度器、闲逛线程
【操作系统】处理机调度的基本概念和三个层次、进程调度的时机和方式、调度器、闲逛线程
1465 3
|
消息中间件 调度 Android开发
Android经典面试题之View的post方法和Handler的post方法有什么区别?
本文对比了Android开发中`View.post`与`Handler.post`的使用。`View.post`将任务加入视图关联的消息队列,在视图布局后执行,适合视图操作。`Handler.post`更通用,可调度至特定Handler的线程,不仅限于视图任务。选择方法取决于具体需求和上下文。
440 0
|
编解码 Java
请求参数中文乱码-POST解决方法
请求参数中文乱码-POST解决方法
|
存储 人工智能 程序员
溢出、截断、类型提升:从易错代码入手分析整型数据存储与类型转换
这篇文章介绍了关于数据在内存中的存储以及可能出现的溢出问题,包括整型数据的存储方式、取值范围以及溢出的现象和原因。文章通过例子和罗盘图解释了整型数据溢出时的计算过程,并指出在进行运算时要注意数据类型的转换和可能的溢出情况。此外,文章还给出了几个练习题,帮助读者理解和应用这些知识。
681 0