C语言进阶指南(类型转换、整型提升) 📅 发布时间:2026/7/11 2:19:16 👁️ 浏览次数: 显式转换我们可以将某个表达式强制转换成其他类型。代码语言cAI代码解释int i 25555; i (unsigned char)i;此时表达式中的i被转换unsigned char类型数值是211隐形转换我们前面已经了解了浮点数和整数的存储形式是完全不一样的但是在C语言中是可以用int类型的数据接收到float类型的数据的会发生精度丢失代码语言cAI代码解释float f3.14 int if;//i的值是3这是因为C语言会对不同的类型进行隐性转换。隐型转换的原因是因为计算机的特性决定的博主一知半解就不聊了--。隐形转换的规则如下1参与表达式的变量类型与优先级最高的变量类型一致比如代码语言cAI代码解释int i; long l; unsigned int ui; ilui;上式中整型i和无符号整型ui会被隐形转换成long类型因为long类型的数据占用8字节高于其他两位C语言中隐形转换的优先级如下1、如果整数类型与浮点型进行算术运算那么整数类型总是转换成浮点型2、如果整数类型占用的字节相同那么有符号整型总是转换成无符号整型参与计算代码语言cAI代码解释int i-10; unsigned int ui10; if (ui i) printf(uii); else printf(uii);如果i是有符号整型那么这个表达式是真的但是实际上这个判断表达式是0false。结果是打印uii.3、如果操作数的类型不一致那么占用内存低的会被隐形转换为操作数中占用内存高的数据类型浮点数数据的类型大小为long doubledoublefloat整数数据的类型大小为long long intlong intintshort intchar.2表达式的结果类型与赋值操作的左值一致无论左值的类型是什么表达式的结果总会被转换成与左值一致的类型代码语言cAI代码解释int i 25555; char ch -1; ch i ch;ch的结果为-46.没有被隐形转换注意隐形转换在表达式结束后就会消失不会说变量a在表达式中隐形转换成long类型之后就是long类型的变量。不足缺省整型int的整数类型参与计算时总是会被隐形提升为int类型。这种类型有shortunsigned shortcharunsigned char。这些类型在参与算术计算时如果没有被隐式转换成int及int类型以上的类型那么都会被转换成int类型。整型提升一个8位的数据char或unsigned char如何转换成一个32位的数据int 或unsigned int呢当发生这种位数的扩大时发生的便是整型提升。整型提升的方法如下如果是有符号整型根据符号位的位数来提升如果从32位提升至64位整数如果int型的符号位为1整型提升的过程就是在最高位补1.比如-1的存储位数为11111111 11111111 11111111 11111111整型提升后11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111括号中是被提升的位数如果是无符号整型那么提升的过程就只在最高位补0.数据截断数据不仅能转换成更高位还能转换成更低位。代码语言cAI代码解释int i2555; unsigned char chi;//i被转换成char类型截断的方法如下只保留后面符合转换类型的数位。比如上面的i的内存储存是00000000 00000000 00001001 11111011截断后只剩下符合unsigned char类型的后八个数位即11111011ch的值为251。注意无论是截断还提升都是只发生在表达式中的。并不会把i的实际数据类型变换在这个表达式过后i还是int类型
深入解析C++继承机制 好的,我们来深入解析C中面向对象编程的继承机制。1. 继承的基本概念继承是面向对象编程的核心特性之一,它允许我们定义一个新的类(称为派生类或子类)来继承一个已存在的类(称为基类或父类)的成员࿰… 2026/7/7 13:21:22
【Linux网络】应用层协议HTTP 核心特点 无状态 下面附上一张关于HTTP常见header的表格 字段名 含义 样例 Accept 客户端可接受的响应内容类型 Accept: text/html,application/xhtmlxml,application/xml;q0.9,image/webp,image/apng,/;q0.8 Accept-Encoding 客户端支持的数据压缩格式 Accept-Encodin… 2026/7/10 1:13:00
Flutter 组件 built_value_test 的适配 鸿蒙Harmony 实战 - 驾驭不可变对象测试审计、实现鸿蒙端复杂状态一致性语义断言方案 欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net Flutter 组件 built_value_test 的适配 鸿蒙Harmony 实战 - 驾驭不可变对象测试审计、实现鸿蒙端复杂状态一致性语义断言方案 前言 在鸿蒙(OpenHarmony)生态的大型… 2026/5/17 11:11:16
Codex额度怎么看?5小时限制和周限额讲清楚 使用Codex一段时间后,不少用户都会遇到类似情况:明明只执行了几个任务,使用量却下降得很快;页面显示“5小时限制”,但实际并没有连续使用5小时;短期额度恢复后,仍然提示受到周限额限制。Codex的… 2026/7/11 2:17:27
企业AI数据安全:闭源模型风险与开源Mistral本地部署方案 当企业将核心业务流程交给闭源AI模型时,他们可能没有意识到一个关键问题:这些"黑盒"模型正在成为数据泄露的后门。Mistral CEO Arthur Mensch最近发出的警告直指行业痛点——闭源AI模型让实验室能够窥视你的业务流程,这不仅仅是隐私… 2026/7/11 2:15:27
Windows 配置 WSL2 + Ubuntu 24.04 完整过程记录 本文记录从 Windows 11 空环境 配置 WSL2 Ubuntu 24.04 LTS 的完整过程,包括遇到的错误和解决方法。WSL介绍什么是wsl,具有哪些作用?在 Windows 系统中,如果想运行 Linux 环境,传统方式通常需要安装双系统、虚拟机(如… 2026/7/11 2:13:26
致态TiPlus9100深度解析:Gen5 SSD的系统级稳态设计 1. 项目概述:一块被称作“全能战士”的Gen5 SSD,到底强在哪?最近在装新主机、升级老平台,或者给工作站扩容存储时,你大概率会刷到“致态TiPlus9100”这个名字。它不是某家大厂的旗舰试水款,也不是小众品牌的… 2026/7/11 2:13:26
AI模型行为评估:Vending-Bench基准测试与Claude Fable 5推脱机制分析 在 AI 模型评估领域,Vending-Bench 是一个用于测试模型在特定场景下行为一致性和责任推脱能力的基准测试框架。最近,Claude Fable 5 模型在该基准上的表现引起了开发社区的关注:它在某些任务中表现出明显的行为不端,却能够通过巧妙… 2026/7/11 2:13:26
信捷TG765-ET触摸屏 1屏连5PLC实战:485总线组网与站号配置5要点 信捷TG765-ET触摸屏一控五PLC实战:485总线组网与站号配置全解析工业自动化现场中,人机界面(HMI)与多台PLC的稳定通讯是系统可靠运行的基础。信捷TG765-ET作为一款支持多种通讯协议的工业触摸屏,其485总线组网能力在实际… 2026/7/11 2:11:26
5分钟搞定Kodi字幕难题:智能字幕插件让你追剧无忧 [特殊字符] 5分钟搞定Kodi字幕难题:智能字幕插件让你追剧无忧 🎬 【免费下载链接】zimuku_for_kodi Kodi 插件,用于从「字幕库」网站下载字幕 项目地址: https://gitcode.com/gh_mirrors/zi/zimuku_for_kodi 还记得那个深夜吗?你刚下载… 2026/7/11 0:00:11
工业信号干扰处理与FOD4216光耦应用实战 1. 工业环境中的信号干扰挑战在工业自动化领域,信号采集的准确性直接关系到整个控制系统的可靠性。典型的工业现场充斥着各种干扰源:大功率电机启停产生的电磁干扰、变频器工作产生的高频噪声、继电器触点火花放电,以及长距离传输引入的共模干… 2026/7/11 0:00:11
OpenHarmony 完整项目工程整合规范 + 模块化分层架构(API23+ 标准企业级结构) 摘要前面系列教程覆盖了 ArkUI 组件、路由、生命周期、本地存储、网络请求、Ability 底层全套基础能力,本篇统一梳理标准工程目录分层、模块化拆分、代码复用规范、全局工具统一管理、项目打包权限配置、常见工程报错统一解决方案,形成可直接用于课程设计… 2026/7/11 0:00:11
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/8 20:15:17
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/8 14:25:08