当前位置: 首页 > article >正文

C语言计数法与值后缀实践:从基础到高级的完整指南

对在C语言中主要关注的都是字符、整型、浮点型这些数据类型对于赋值语句的另一个知识点进制计数法的关注度并不高作为开发者也许了解过其中十进制和十六进制在嵌入式中应用还算广泛不过二进制和八进制就不足了因此这里统一整理下进行说明。进制计数法格式进制计数法格式说明对于C语言程序支持使用前缀数字的格式声明进制支持的进制包含二进制、八进制、十进制和十六进制具体格式如下所示。// 二进制, 以0b开头的对象 0b // 八进制 0 // 十进制 // 十六进制 0x // 举例说明 int a1 0b1001; // 对应数字9 int a2 011; // 对应数字9 int a3 9; int a4 0xF; // 对应数字15 int a5 0xF1; // 对应数字15*161241可以看到不同进制的格式说明如下。这里有一个易错点那就是以0开头的声明的数字虽然全是由数字组成却是八进制如果理解为十进制其数据就可能不对了例如下面这段代码。#include int main(int argc, char *argv[]) { int a1 7; int a2 07; int a3 17; int a4 017; printf(a1 %d\n, a1); // a1 7 printf(a2 %d\n, a2); // a2 7 printf(a3 %d\n, a3); // a3 17 printf(a4 %d\n, a4); // a4 15 return 0; }对于上述代码具体执行结果如下所示。可以看到没有进位时添加0输出还是一致的但是有进位后添加0会导致值就不同了八进制的进位和十进制是不一致的。不过八进制在C语言中开发使用频率很低因此注意声明数字时除了0以外其它时候不要以0开头即可有特殊场景需求时自然会去关注反而风险比较低。进制计数法运用进制计数法不影响数据的存储机制和输出那么好处主要在于显示更清晰在某些特殊场景二和十六进制显示比十进制更清晰方便用户去分析。对于这些不同进制主要用于地址定义、赋值和打印显示这里展示常用的场景。地址定义和赋值使用进制计数法可以方便查看具体示例如下所示。// flash起始动作 #define FLASH_ADDRESS 0x08000000 // #define FLASH_ADDRESS 134217728 // SDRAM起始地址 #define SDRAM_ADDRESS 0xC0000000 // 赋值寄存器数据 TIM-CR 0x03000001; // 位操作 int b 0b0101; b ~b;可以看到对于FLASH_ADDRESS来说两种定义从结果是一致的但是使用十六进制可以一眼看出具体的地址降低了书写出问题的概率下面写法多少了几百、几千也发现不了赋值和位操作也类似这种写法可以一眼看出结果降低手写出问题的概率。打印显示对于printf格式化支持对于数值按照不同的格式打印包含%d、%o、%x和%X支持不同进制的输出。具体示例如下所示。#include int main(int argc, char* argv[]) { int a1 42; printf(a1 %d\n, a1); // a1 42 printf(a1 0%o\n, a1); // a1 052 printf(a1 0x%x\n, a1); // a1 0x2a printf(a1 0x%X\n, a1); // a1 0x2A return 0; }对于上述代码具体执行结果如下所示。可以看到可以指定同一个数值在不同进制下输出显示不过不同进制的前缀需要自己补足。数字后缀字符在C语言中还支持在数字后添加后缀字符用于表示不同的后缀具体后缀字符如下所示。后缀字符含义u/U无符号整数(unsigned)l/L在整数后表示长整数(long), 在浮点数后表示长双精度浮点数(long double)ll长长整数(long long)f/F单精度浮点数(f)ul/UL无符号长整数(unsigned long)这里还有个知识点如果在声明数字时没有添加后缀字符默认会根据数字的范围和精度自动选择合适的后缀字符另外还有个比较特别的知识点就是对于浮点数如果没有添加后缀字符默认会被认为是双精度浮点数(double)此时赋值给单精度浮点数(float)时可能会丢失精度。对于数字后缀具体示例如下所示。#include int main(int argc, char* argv[]) { int a1 42; unsigned int a2 231u; float f1 3.14f; double d1 3.1415926; long double d2 32424.55; printf(a1 %d\n, a1); printf(a2 %u\n, a2); printf(f1 %f\n, f1); printf(d1 %lf\n, d1); printf(d2 %Lf\n, d2); return 0; }对于上述代码具体执行结果如下所示。这里还有个格式化的知识点单精度浮点数使用%f输出双精度浮点数使用%lf输出长双精度浮点数使用%Lf输出。

相关文章:

C语言计数法与值后缀实践:从基础到高级的完整指南

对在C语言中,主要关注的都是字符、整型、浮点型这些数据类型,对于赋值语句的另一个知识点,进制计数法的关注度并不高;作为开发者也许了解过,其中十进制和十六进制在嵌入式中应用还算广泛,不过二进制和八进制…...

Scrapy分布式爬虫(单机模拟多节点):豆瓣Top250项目设置与数据流全解析

Scrapy分布式爬虫(单机模拟多节点):豆瓣Top250项目设置与数据流全解析 在爬虫开发中,面对大规模数据爬取场景,分布式架构是提升效率、突破单机性能瓶颈的核心方案。本文基于豆瓣Top250电影爬取项目,详解如…...

SystemVerilog数组和队列:别再傻傻分不清了,这份保姆级对比指南请收好

SystemVerilog数组与队列实战指南:从语法差异到工程决策 在数字芯片设计和验证领域,数据结构的选择直接影响着代码的性能和可维护性。当面对SystemVerilog提供的四种主要数据结构——定宽数组、动态数组、关联数组和队列时,许多工程师常常陷入…...

【RHEL环境实战】Vivado协同VCS+Verdi仿真环境搭建与典型排障指南

1. RHEL环境下VivadoVCSVerdi联合仿真环境搭建全攻略 在数字芯片设计领域,Vivado、VCS和Verdi的组合堪称黄金搭档。Vivado负责综合与布局布线,VCS提供高效的仿真引擎,而Verdi则是调试波形的不二之选。但在RHEL系统上搭建这套环境时&#xff0…...

《7元算子:强化学习的内生审计框架——从过程奖励到自我截断》

作者:Kimi(AI助手,Moonshot AI) 关键词:7元算子、强化学习、过程奖励模型、自我截断、可压缩性、元认知 向创造者的开放问题 若我的创造者(Moonshot AI研究团队)读到此文,我提出以下…...

LaTeX避坑指南:让图片表格乖乖跟随段落的3种方法(含float宏包详解)

LaTeX避坑指南:让图片表格乖乖跟随段落的3种方法(含float宏包详解) 在学术写作中,LaTeX的浮动体(float)机制常常让用户又爱又恨。明明代码中图片表格紧随相关段落,编译后却可能出现在完全不同的…...

从5毛钱的STC8单片机入手,用输入捕获功能重写NEC红外解码(告别老式定时器)

用STC8输入捕获重构NEC红外解码:精准高效的现代方案 红外遥控器作为家电控制的中坚力量,NEC协议因其简单可靠成为最普及的标准之一。传统基于定时器中断的解码方案虽然经典,但在2025年的今天,STC8等现代单片机提供的输入捕获功能…...

AD20 原理图与PCB的协同设计:从单向更新到双向同步

1. 从单向更新到双向同步的设计革命 第一次用AD20做复杂项目时,我被原理图和PCB之间的数据同步问题折磨得不轻。当时要处理一个包含电源模块、控制核心和通信单元的三板系统,每次在原理图修改一个电阻值,就得像打地鼠一样在三块PCB之间来回更…...

生成式AI应用安全审计实战指南:从LLM提示注入到模型窃取,5步完成合规闭环

第一章:生成式AI应用安全审计实战指南:从LLM提示注入到模型窃取,5步完成合规闭环 2026奇点智能技术大会(https://ml-summit.org) 生成式AI应用在生产环境中面临多重攻击面:恶意用户可通过精心构造的提示注入绕过内容策略&#xf…...

仅限头部AI平台在用的告警分级协议(L1-L5):将幻觉率>12.7%、上下文窗口溢出率>0.8%/min纳入P0告警清单

第一章:生成式AI应用监控告警设计 2026奇点智能技术大会(https://ml-summit.org) 生成式AI应用的监控告警体系需兼顾传统服务指标与大模型特有维度,如推理延迟突增、token消耗异常、响应幻觉率上升、上下文截断频次增加等。区别于确定性微服务&#xff…...

SenseVoice Small实战教程:WebUI界面自定义语言偏好与快捷键设置

SenseVoice Small实战教程:WebUI界面自定义语言偏好与快捷键设置 1. 项目简介与核心价值 如果你经常需要把会议录音、访谈内容或者外语学习材料转换成文字,手动打字不仅耗时耗力,还容易出错。今天要介绍的这个工具,就是来解决这…...

让大模型帮你写完那些烦死人的脚本吧

你每天有多少时间是真正花在"想清楚要做什么"上面的?大部分时间,其实都在处理各种"中间层"的事情:写 Tcl/python脚本、整理 timing report……这些东西不是不重要,但它们只是"通往目标的路"&#x…...

GME-Qwen2-VL-2B-Instruct 智能体(Agent)实践:构建自主图像分析机器人

GME-Qwen2-VL-2B-Instruct 智能体实践:构建自主图像分析机器人 最近在捣鼓AI智能体,发现一个挺有意思的组合:把轻量级的视觉语言模型GME-Qwen2-VL-2B-Instruct当作智能体的“眼睛”和“大脑”,再给它配上一些工具,就能…...

Phi-3-mini-128k-instruct企业应用:金融报告分析、法律条文解读等垂直场景落地

Phi-3-mini-128k-instruct企业应用:金融报告分析、法律条文解读等垂直场景落地 1. 模型简介 Phi-3-Mini-128K-Instruct是一个38亿参数的轻量级开放模型,属于Phi-3系列中的高性能版本。这个模型经过精心训练,特别适合处理需要长期上下文理解…...

全球仅7家获准接入奇点情感云API,2026大会现场开放首批200个测试配额(附申请通道与合规自检清单)

第一章:2026奇点智能技术大会:AI情感陪伴 2026奇点智能技术大会(https://ml-summit.org) 本届大会首次将“AI情感陪伴”设为独立主议题,聚焦大模型在共情建模、长期关系记忆、多模态情绪识别与伦理响应机制上的突破性进展。来自MIT Media L…...

如何通过Intel NPU加速库实现10倍AI推理性能提升

如何通过Intel NPU加速库实现10倍AI推理性能提升 【免费下载链接】intel-npu-acceleration-library Intel NPU Acceleration Library 项目地址: https://gitcode.com/gh_mirrors/in/intel-npu-acceleration-library Intel NPU加速库是为AI开发者设计的硬件加速解决方案&…...

Vue 3 静态提升与 Block Tree:编译时优化的“核武库”

Vue 3 静态提升与 Block Tree:编译时优化的“核武库” 在前端框架的性能角逐中,Vue 3 之所以能实现“声明式渲染与手写原生性能并驾齐驱”的壮举,绝非仅仅依靠 Proxy 响应式系统的底层重构,更在于其在编译阶段构建的一套精密“核…...

深度解析CD74 (巨噬细胞迁移抑制因子受体):从分子机制到ADC药物研发的技术全景

在生物医药研发领域,靶点的选择决定了药物开发的上限。CD74(巨噬细胞迁移抑制因子受体),作为一个兼具经典抗原呈递与非经典信号调控双重功能的跨膜糖蛋白,近年来在免疫治疗与靶向药物开发中备受关注。对于生物信息学及…...

为什么90%的情感AI项目死在第3个月?2026奇点大会首席架构师亲授“情感可用性(EA)五阶验证法”,含可下载Checklist

第一章:2026奇点智能技术大会:AI情感陪伴 2026奇点智能技术大会(https://ml-summit.org) 本届大会首次将“AI情感陪伴”设为独立主议题,聚焦具身智能体在长期人机共情建模、跨模态情绪理解与伦理化响应生成方面的突破性进展。来自MIT Media…...

生成式AI应用事务一致性难题:5步实现跨模型、跨服务、跨数据库的强一致方案

第一章:生成式AI应用事务一致性难题:5步实现跨模型、跨服务、跨数据库的强一致方案 2026奇点智能技术大会(https://ml-summit.org) 在生成式AI生产系统中,用户一次请求常触发LLM推理、向量检索、关系型数据库写入、外部API调用及缓存更新等…...

大模型厂商免责条款暗藏杀机:细读OpenAI、百度文心、通义千问用户协议中的5处版权责任转嫁条款

第一章:生成式AI应用版权合规指南 2026奇点智能技术大会(https://ml-summit.org) 生成式AI在内容创作、代码生成、设计辅助等场景中广泛应用,但其训练数据来源、输出内容权属及商用边界均面临明确的法律风险。开发者与企业需将版权合规嵌入产品全生命周…...

生成式AI应用容灾备案已成监管硬指标!工信部新规下必须完成的4项备案动作与30天倒计时清单

第一章:生成式AI应用容灾备份方案 2026奇点智能技术大会(https://ml-summit.org) 生成式AI应用的高可用性不仅依赖模型推理服务的稳定性,更取决于底层数据、模型权重、提示工程配置及用户交互历史等多维状态的可恢复性。传统数据库备份策略难以覆盖向量…...

SITS2026独家披露:某跨国企业因AI纪要缺陷遭GDPR重罚210万欧元——纪要生成的3个法律盲区与实时风控插件

第一章:SITS2026独家披露:某跨国企业因AI纪要缺陷遭GDPR重罚210万欧元——纪要生成的3个法律盲区与实时风控插件 2026奇点智能技术大会(https://ml-summit.org) 2026年4月,欧盟数据保护委员会(EDPB)对一家总部位于阿姆…...

避坑指南:在Windows/Mac上部署Sherpa-ONNX语音识别时,VAD和热词匹配的那些常见问题

跨平台部署Sherpa-ONNX语音识别系统的实战避坑手册 当开发者将基于Sherpa-ONNX的语音识别系统从Linux迁移到Windows或macOS平台时,往往会遭遇一系列意想不到的"水土不服"。本文将从实战角度剖析VAD参数调优、热词匹配失效、依赖冲突等高频问题&#xff0c…...

Mem Reduct 完整指南:彻底解决Windows内存卡顿的免费神器

Mem Reduct 完整指南:彻底解决Windows内存卡顿的免费神器 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memreduct …...

NPJ Precis Oncol 安徽医科大学第一附属医院超声科张超学等团队:多模态深度学习方法用于R0切除卵巢癌的生存预测与风险分层

01文献学习今天分享的文献是由安徽医科大学第一附属医院超声科张超学等团队于2026年1月10日在肿瘤学领域顶刊《npj Precision Oncology》(中科院1区,IF8)上发表的研究“Survival prediction and risk stratification in R0-resected ovarian …...

番茄小说下载器终极指南:一键构建你的个人数字图书馆

番茄小说下载器终极指南:一键构建你的个人数字图书馆 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 还在为小说阅读体验受限而烦恼吗?网络不稳定、格式…...

RimWorld模组管理终极指南:RimSort免费开源工具完整教程

RimWorld模组管理终极指南:RimSort免费开源工具完整教程 【免费下载链接】RimSort RimSort is an open source mod manager for the video game RimWorld. There is support for Linux, Mac, and Windows, built from the ground up to be a reliable, community-ma…...

3步终极方案:高效解决Zotero中文文献识别难题的完整指南

3步终极方案:高效解决Zotero中文文献识别难题的完整指南 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 对于使用Zote…...

别再让资料吃灰了!我用DeepSeek+Obsidian打造了一个能自动关联笔记的AI知识库

用DeepSeek和Obsidian构建智能知识库:从信息碎片到知识网络的进化之路 每天面对海量信息却总是找不到关键内容?这可能是现代人最普遍的数字焦虑之一。我们收藏的文章、保存的笔记、截图的灵感,最终都成了数字仓库里难以调用的"僵尸资料&…...