广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言基础的类型转换有哪些
  • 570
分享到

C语言基础的类型转换有哪些

2023-06-25 15:06:31 570人浏览 泡泡鱼
摘要

小编给大家分享一下C语言基础的类型转换有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!类型转换数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题。转换包括隐式类型转换和强制类型转换。类型转换的原则

小编给大家分享一下C语言基础的类型转换有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

    类型转换

    数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题。转换包括隐式类型转换和强制类型转换。

    类型转换的原则:占用内存字节数少(值域小)的类型,向占用内存字节数多(值域大)的类型转换,以保证精度不降低。

    C语言基础的类型转换有哪些

    隐式类型转换

    隐式转换也称为自动转换,遵循一定的规则,由编译器自动完成。

    C的整型算数运算总是至少以缺省整型类型的精度来进行,为了获得这个精度,表达式中的字符和短整形操作数在使用之前都被转换成普通整型,这种转换为整型提升。

    整型提升:通用CPU是难以直接实现两个8比特位直接相加运算。所以表达式中各种长度可能小于int长度的整型值,都必须转换为int或者unsigned int ,然后才能送入CPU去执行运算。

    代码示例1:

    int main(){char a = 5, b = 126;//5:00000000 00000000 00000000 00000101//a:0000 0101(截断操作)//126:00000000 00000000 00000000 01111110//b:0111 1110//当a和b相加时,都是char类型,就会发生整型提升//int c = 000000000000000000000000 00000101 + 000000000000000000000000 01111110//char c = 10000011(整型截断)//以%d 打印,再次在内存中整型提升,再打印原码//int c = 11111111111111111111111110000011(补码)//打印原码:10000000000000000000000011111101char c = a + b;printf("%d\n", c);return 0;}

    C语言基础的类型转换有哪些

    如何整型提升:按照变量的数据类型的符号位来提升。

    代码示例2

    //负数的整型提升char s1 = -1;变量s1的二进制补码中只有8个比特位 11111111因为char是有符号的,所以在整型提升的时候,高位补充符号位即:11111111 11111111 11111111 11111111//正数的整型提升char s2 = 1;变量s2的二进制补码中只有8个比特位 00000001因为char是有符号的,所以在整型提升的时候,高位补充符号位即:00000000 00000000 00000000 00000001

    无符号数的整型提升,高位直接补0;

    代码示例3:

    隐式转换

    int main(){int num = 5;printf("s1=%d\n", num / 2);printf("s2=%lf\n", num / 2.0);return 0;}s1=2s2=2.500000请按任意键继续. . .

    强制类型转换

    强制类型转换指的是使用强制类型转换运算符,将一个变量或表达式转化成所需的类型

    代码示例1:

    #include <stdio.h>int main(){float x = 0;int i = 0;x = 3.6f;i = x;//x为实型, i为整型,直接赋值会有警告i = (int)x;//使用强制类型转换printf("x=%f, i=%d\n", x, i);return 0;

    看完了这篇文章,相信你对“C语言基础的类型转换有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网其他教程频道,感谢各位的阅读!

    --结束END--

    本文标题: C语言基础的类型转换有哪些

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

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

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • C语言基础的类型转换有哪些
      小编给大家分享一下C语言基础的类型转换有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!类型转换数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题。转换包括隐式类型转换和强制类型转换。类型转换的原则...
      99+
      2023-06-25
    • 详解C语言基础的类型转换
      目录类型转换隐式类型转换强制类型转换总结 类型转换 数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题。转换包括隐式类型转换和强制类型转换。 类型转换的原则:...
      99+
      2022-11-12
    • C语言编程基础char类型转换示例
      代码 如下所示: #inlcude <stdio.h> void func1(void) { char a = 0x7F; unsigned ...
      99+
      2022-11-13
    • C语言基础隐式类型转换与强制类型转换示例解析
      目录类型转换隐式类型转换强制类型转换类型转换 数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题。 转换包括隐式类型转换和强制类型转换。 类型转换的原则:占用内...
      99+
      2022-11-12
    • c语言数据类型转换的方法有哪些
      在C语言中,数据类型转换有以下几种方法:1. 隐式转换:当两个不同类型的数据进行运算或赋值时,编译器会自动进行隐式转换。2. 显式转...
      99+
      2023-10-10
      c语言
    • C#预定义的基础类型转换
      一、BitConverter 将预定义的基础类型与字节数据进行互转(Unicode) 1、将值类型转成字节数组(Unicode):BitConverter.GetBytes() by...
      99+
      2022-11-13
    • c语言的基本数据类型有哪些
      C语言的基本数据类型有以下几种:1. 整型(int):用于表示整数,包括正整数、负整数和零。可使用关键字int声明,占用4个字节。2...
      99+
      2023-09-20
      c语言
    • C#数据类型转换有哪些
      本篇内容介绍了“C#数据类型转换有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C# 的类型转换有显式转型 和 隐式转型 两种方式。显式...
      99+
      2023-06-26
    • C#的类型转换方法有哪些
      这篇“C#的类型转换方法有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#的类型转换方法有哪些”文章吧。C# 类型转换...
      99+
      2023-06-17
    • C#类型转换的形式有哪些
      本篇内容介绍了“C#类型转换的形式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!类型转换从根本上说是类型铸造,或者说是把数据从一种类型...
      99+
      2023-06-15
    • C#预定义的基础类型如何转换
      这篇文章主要介绍了C#预定义的基础类型如何转换的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#预定义的基础类型如何转换文章都会有所收获,下面我们一起来看看吧。一、BitConverter 将预定义的基础类型与...
      99+
      2023-06-30
    • Verilog语言数据类型基础知识点有哪些
      这篇文章主要介绍“Verilog语言数据类型基础知识点有哪些”,在日常操作中,相信很多人在Verilog语言数据类型基础知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Verilog语言数据类型基础...
      99+
      2023-07-06
    • c#中的类型转换方式有哪些
      在C#中,有以下几种类型转换方式:1. 隐式类型转换:当目标类型的范围大于源类型时,可以进行隐式类型转换。例如,将int类型的值赋给...
      99+
      2023-08-09
      c#
    • C++中类型转换的方法有哪些
      这篇文章主要介绍“C++中类型转换的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++中类型转换的方法有哪些”文章能帮助大家解决问题。1. C语言中的类型转换在C语言中,如果赋值运算符左...
      99+
      2023-07-05
    • Go语言中的数据类型有哪些及类型间怎么转换
      这篇“Go语言中的数据类型有哪些及类型间怎么转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言中的数据类型有哪些及类...
      99+
      2023-06-30
    • C++强制类型转换的方式有哪些
      本篇内容主要讲解“C++强制类型转换的方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++强制类型转换的方式有哪些”吧!1 C++类型转换本质1.1 自动类型转换(隐式)利用编译器内置...
      99+
      2023-06-30
    • C语言隐式类型转换与强制类型转换的方法是什么
      本篇内容主要讲解“C语言隐式类型转换与强制类型转换的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言隐式类型转换与强制类型转换的方法是什么”吧!类型转换数据有不同的类型,不同类型数...
      99+
      2023-06-25
    • C语言中的运算类型有哪些
      这篇文章主要介绍“C语言中的运算类型有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言中的运算类型有哪些”文章能帮助大家解决问题。一、概述C语言中支持下面4种类型的运算运算类型运算符四则运算...
      99+
      2023-06-30
    • c语言标识符有哪些类型
      本教程操作环境:windows7系统、c99版本、Dell G3电脑。在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。c语言标识符...
      99+
      2022-11-28
      C语言 标识符 用户标识符
    • c语言标识符类型有哪些
      这篇文章主要讲解了“c语言标识符类型有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c语言标识符类型有哪些”吧!c语言标识符有三类:1、关键字,是由C语言规定的具有特定意义的字符串,通常...
      99+
      2023-07-04
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作