返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >详解C语言中不同类型的数据转换规则
  • 465
分享到

详解C语言中不同类型的数据转换规则

2024-04-02 19:04:59 465人浏览 独家记忆
摘要

不同类型数据间的混合运算与类型转换 1.自动类型转换 在C语言中,自动类型转换遵循以下规则: ①若参与运算量的类型不同,则先转换成同一类型,然后进行运算 ②转换按数据长度增加的方

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

1.自动类型转换

C语言中,自动类型转换遵循以下规则:

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

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

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

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

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

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

⑤在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。

如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入,

   更正:此处在博友反馈后,代码VS和linux下实测丢失部分是直接舍去,而不是四舍五入;

2.强制类型转换

强制类型转换一般格式如下:

(类型名)(表达式)

这种强制类型转换操作并不改变操作数本身

首先进行一个实验,分别定义一个signed int型数据和unsigned int型数据,然后进行大小比较:

unsigned int a = 20signed int b = -130b?还是b>a?实验证明b>a,也就是说-130>20,为什么会出现这样的结果呢?

这是因为在C语言操作中,如果遇到无符号数与有符号数之间的操作,编译器会自动转化为无符号数来进行处理,因此a=20,b=4294967166,这样比较下去当然b>a了。

unsigned int a=20signed int b=-130;a + b结果输出为4294967186,同样的道理,在运算之前,a=20,b被转化为4294967166,所以a+b=4294967186

减法和乘法的运算结果类似。 uint i=3;i * -1;问结果是多少

到此这篇关于详解C语言中不同类型的数据转换规则的文章就介绍到这了,更多相关C语言数据转换内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解C语言中不同类型的数据转换规则

本文链接: https://lsjlt.com/news/129985.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解C语言中不同类型的数据转换规则
    不同类型数据间的混合运算与类型转换 1.自动类型转换 在C语言中,自动类型转换遵循以下规则: ①若参与运算量的类型不同,则先转换成同一类型,然后进行运算 ②转换按数据长度增加的方...
    99+
    2024-04-02
  • C语言中不同类型的数据转换规则是什么
    本篇内容介绍了“C语言中不同类型的数据转换规则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!不同类型数据间的混合运算与类型转换1.自动...
    99+
    2023-06-20
  • C语言中不同类型的数据遵循什么转换规则
    本篇内容主要讲解“C语言中不同类型的数据遵循什么转换规则”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言中不同类型的数据遵循什么转换规则”吧!1.自动类型转换在C语言中,自动类型转换遵循以下...
    99+
    2023-06-17
  • C语言强制类型转换规则实例详解
    目录整形之间的强制转换无符号转有符号有符号转无符号不同长度数字转化中的截断整形与浮点数的强制类型转换总结整形之间的强制转换 在强制类型转换中,我们常用的整形强制转换有无符号和有符号类...
    99+
    2024-04-02
  • 不同语言中类型转换与Go语言类型转换的差异
    go 语言类型转换与其他语言存在差异:go 语言强制类型安全,其他语言允许隐式转换;go 语言内置转换不导致数据丢失,而其他语言的强制转换可能导致;go 语言使用 t(v) 语法进行显式...
    99+
    2024-04-12
    go 类型转换 python go语言 c++ 数据丢失 隐式转换
  • 详解Go语言中的数据类型及类型转换
    目录1、基本数据类型2、基础数据类型转换3、基本数据类型转为字符串4、strconv的使用5、字符串转为基础类型1、基本数据类型 数据类型有很多,先研究一下基础的,例如:布尔型、数字...
    99+
    2024-04-02
  • c语言数据转换的规则是什么
    C语言中,数据转换的规则如下:1. 自动类型转换:当表达式中的操作数类型不同时,会发生自动类型转换。自动类型转换按照以下规则进行:-...
    99+
    2023-10-10
    c语言
  • C++ 函数参数类型的转换规则
    c++++ 函数参数类型转换规则包括: 无符号类型转换为有符号类型、精度低的类型转换为精度高的类型、浮点类型之间的转换、兼容的指针类型之间转换。实战案例:可以传递无符号整数、精度低的整数...
    99+
    2024-04-13
    c++ 函数参数类型 隐式类型转换 隐式转换
  • JavaScript隐式类型转换规则详解
    目录前言数学运算符中的类型转换减、乘、除加逻辑语句中的类型转换单个变量使用 == 比较ToPrimitive前言 在 JavaScript 中,在进行运算操作时,如果两边数据不统一,...
    99+
    2023-05-18
    JavaScript 隐式类型转换 JavaScript 类型转换规则
  • 详解C语言基础的类型转换
    目录类型转换隐式类型转换强制类型转换总结 类型转换 数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题。转换包括隐式类型转换和强制类型转换。 类型转换的原则:...
    99+
    2024-04-02
  • PostgreSQL的数据类型转换规则有哪些
    这篇文章主要介绍“PostgreSQL的数据类型转换规则有哪些”,在日常操作中,相信很多人在PostgreSQL的数据类型转换规则有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • PostgreSQL的数据类型转换规则是什么
    本篇内容介绍了“PostgreSQL的数据类型转换规则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • Go语言中基本数据类型的相互转换详解
    目录基本数据类型的相互转换基本语法小知识基本数据类型和string的转换方法一方法二string和基本数据类型转换基本数据类型的相互转换 Go在不同类型的变量之间赋值时需要显示转换,...
    99+
    2024-04-02
  • JavaScript数据类型及相互间的转换规则
    目录数据类型的分类非标准特殊对象SymbolBigInt 大数类型数据类型检测数据类型间的相互转换规则Number([val])parseInt([val],[radix]) par...
    99+
    2024-04-02
  • 如何使用C语言数据类型转换
    这篇文章主要介绍“如何使用C语言数据类型转换”,在日常操作中,相信很多人在如何使用C语言数据类型转换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用C语言数据类型转换”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-15
  • 详解Python中数据类型的转换
    目录一. 转换数据类型的作用二. 转换数据类型的函数三. 快速体验四. 实验总结一. 转换数据类型的作用 问:input()接收用户输入的数据都是字符串类型,如果用户输入1,想得到整...
    99+
    2023-03-15
    Python数据类型转换 Python数据类型
  • C++ 的类型转换详解
    目录一、C++ 类型转换1.静态类型转换1.语法格式2.转化规则 2.重解释类型转换1.语法格式2.转化规则 3.常类型转换1.语法格式2.语法规则 3.const 常变量(补充) ...
    99+
    2024-04-02
  • c语言数据类型转换的方法有哪些
    在C语言中,数据类型转换有以下几种方法:1. 隐式转换:当两个不同类型的数据进行运算或赋值时,编译器会自动进行隐式转换。2. 显式转...
    99+
    2023-10-10
    c语言
  • 详解C语言的基本数据类型
    目录1、C语言基本数据类型2、计算机中的单位3、各数据类型的大小及字取值大小总结1、C语言基本数据类型 2、计算机中的单位 3、各数据类型的大小及字取值大小 对于short i...
    99+
    2024-04-02
  • c语言中类型转换怎么弄
    c 语言中存在两种类型转换:隐式转换(类型提升):当需要将较小的数据类型转换为较大的数据类型时自动发生。显式转换(强制类型转换):用于将较大的数据类型转换为较小的数据类型,通过在变量或表...
    99+
    2024-04-13
    c语言 隐式转换
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作