3.数制和编码知识点总结
C 数制和编码知识点总结一、数制和编码1二进制与编码1. 二进制基础计算机中存储的数据都是二进制形式0和1C中二进制表示以0b或0B开头如0b1010二进制的计数规则逢二进一借一当二2. 二进制与十进制互转二进制转十进制将二进制数按位权展开后求和。例(1001)₂ 1×2³ 0×2² 0×2¹ 1×2⁰ 8001 9带小数(1001.1111)₂ 1×2³0×2²0×2¹1×2⁰1×2⁻¹1×2⁻²1×2⁻³0×2⁻⁴ 9.875十进制转二进制整数部分除以2取余除到商是0为止逆序输出余数。例89 → 89/244余1 → 44/222余0 → 22/211余0 → 11/25余1 → 5/22余1 → 2/21余0 → 1/20余1结果(89)₁₀ (1011001)₂小数部分乘2取整法顺序输出。例0.125 ×2 0.25 → 取整00.25 ×2 0.5 → 取整00.5 ×2 1.0 → 取整1到0结束结果(89.125)₁₀ (1011001.001)₂3. 二进制数的编码表示原码、反码、补码机器数一个数在计算机中的表示形式。最高位为符号位0正1负其余为数值位。真值机器数所对应的原来的数值。原码数符0正1负 数值的二进制形式。例28 → 原码 00011100-28 → 原码 100111000 → 原码 00000000反码正数反码 原码负数符号位不变数值位各位取反0变11变0例-28 → 原码 10011100 → 反码 11100011注意0在反码中有两种表示000000000-011111111补码正数补码 原码负数符号位不变数值位各位取反再1即反码1例-28 → 原码 10011100 → 反码 11100011 → 补码 11100100注意0在补码中只有一种表示00000000补码的补码 原码4. 负数补码转十进制方法一求绝对值法补码 → 按位取反 → 末位加1 → 得绝对值原码 → 转十进制加负号例101010118位补码→ 取反01010100→ 1 01010101 85 → 结果-85方法二权值展开法最高位权值为-2⁷ -128其余位权值与正数相同例10101011 1×(-128) 0×64 1×32 0×16 1×8 0×4 1×2 1×1 -1283208021 -855. 课件例题与真题【真题1】2023年6月 判断题题目计算机中存储的数据都是二进制形式。因此在使用C语言编写程序时将所有十进制数改写为相同数值的二进制数会使得程序运行效率更高。答案错误解析编译器在编译阶段会自动将十进制数值转换为二进制机器码程序员无需手动转换。无论写十进制还是二进制字面量最终机器码相同不会提升运行效率。【真题2】2023年9月 选择题题目下列关于负数的原码、反码、补码的描述中正确的是 A. 原码和反码互为按位取反符号位除外补码为反码加1B. 原码和反码互为按位取反符号位除外补码为原码加1C. 反码和补码互为按位取反符号位除外原码为反码加1D. 补码和原码互为按位取反符号位除外反码为补码加1答案A解析正数原码反码补码负数反码原码符号位不变数值位取反补码反码1。二、数制和编码2八进制与十六进制1. 八进制和十六进制基础C中各进制表示形式进制表示数字进位原则C表示形式十进制0~9逢十进一默认二进制0~1逢二进一0b/0B开头八进制0~7逢八进一0开头十六进制0~9 A~F逢十六进一0x/0X开头八进制与二进制一位八进制对应三位二进制000~111十六进制与二进制一位十六进制对应四位二进制0000~11112. 八进制/十六进制与十进制互转八进制转十进制按位权8展开后求和例(1756.2)₈ 1×8³7×8²5×8¹6×8⁰2×8⁻¹ 5124484060.25 1006.25十六进制转十进制按位权16展开后求和例(6F.2)₁₆ 6×16¹15×16⁰2×16⁻¹ 96150.125 111.125十进制转八进制整数部分除以8取余逆序输出小数部分乘8取整顺序输出例(78.625)₁₀ → 整数78/89余6 → 9/81余1 → 1/80余1 → 逆序116小数0.625×85.0 → 取整5 → 结果116.5结果(78.625)₁₀ (116.5)₈十进制转十六进制整数部分除以16取余逆序输出余数1015用AF表示小数部分乘16取整顺序输出例(78.625)₁₀ → 整数78/164余14(E) → 4/160余4 → 逆序4E小数0.625×1610.0 → 取整10(A) → 结果4E.A结果(78.625)₁₀ (4E.A)₁₆3. 任意进制间转换方法以十进制为媒介可以实现任意进制的转化。例如二进制转十六进制先转十进制再转十六进制。4. 课件例题与真题【真题1】2023年6月 选择题题目下列关于进制的叙述不正确的是 A. 正整数的二进制表示中只会出现0和1B. 10不是2的整数次幂所以十进制数无法转换为二进制数C. 从二进制转换为八进制时可以很方便地由低到高将每3位二进制位转换为对应的一位八进制位D. 从二进制转换为十六进制时可以很方便地由低到高将每4位二进制位转换为对应的一位十六进制位答案B解析任何十进制整数都可以转换为二进制数与10是否为2的整数次幂无关。【真题2】2023年9月 选择题题目下列关于进制的叙述正确的是 A. 只有十进制和二进制能够用来表示小数八进制和十六进制不可以B. 常用的进制包括二进制、八进制、十进制、十六进制其他进制在日常生活中很少使用C. 对任意正整数其二进制表示不会比它的十进制表示更短D. 正整数的八进制表示中每一位可能出现的最大数字是8答案C解析二进制位数一定不少于十进制位数因为基数更小所以C正确。A错八进制十六进制也能表示小数B错还有其他进制D错八进制最大数字是7。三、C进制转换代码实现1. 二进制转十进制#includebits/stdc.husingnamespacestd;intmain(){intb0,c0;string a;// 二进制正整数cina;intla.size();for(inti0;il;i){cc*2(a[i]-0);}coutc;return0;}2. 十进制转二进制#includebits/stdc.husingnamespacestd;intmain(){ints[1000],a,i1;cina;while(a){s[i]a%2;// 保存余数aa/2;// 除以2}for(intji;j1;j--){couts[j];}return0;}3. 十进制转十六进制#includebits/stdc.husingnamespacestd;intmain(){ints[1000],a,i1;cina;while(a){s[i]a%16;// 保存余数aa/16;// 除以16}while(i1){if(s[i]10)couts[i--];elsecout(char)(s[i--]-10A);}return0;}4. 十进制转任意进制通用模板#includebits/stdc.husingnamespacestd;intmain(){ints[1000],a,n,i1;cinan;// a是要转换的数n是目标进制while(a){s[i]a%n;// 保存余数aa/n;// 除以n}while(i1){if(s[i]10)couts[i--];elsecout(char)(s[i--]-10A);}return0;}四、进制判断GESP 2023年9月 编程真题题目描述N进制数指的是逢N进一的计数制。现在有N个数请你分别判断它们是否可能是二进制、八进制、十进制、十六进制。例如15A6F就只可能是十六进制而1011则是四种进制皆有可能。输入第一行为整数N接下来N行每行一个字符串由数字和大写字母组成不以0开头。输出N行每行4个数0或1分别表示是否可能是二进制、八进制、十进制、十六进制。样例输入2 15A6F 1011样例输出0 0 0 1 1 1 1 1解题思路核心思路找出每个字符串中的最大字符判断该最大字符是否在对应进制的合法字符范围内。二进制字符只能是0~1八进制字符只能是0~7十进制字符只能是0~9十六进制字符只能是0~9、A~F关键字符比较 —— 如果字符串中最大字符对应进制的最大允许字符则该进制可能。完整代码#includeiostreamusingnamespacestd;intmain(){intn;cinn;string s;for(inti0;in;i){cins;charmaxc0;for(intj0;js.length();j){if(maxcs[j])maxcs[j];}cout(maxc1) ;cout(maxc7) ;cout(maxc9) ;cout(maxcF)endl;}return0;}五、配套GESP三级洛谷题目推荐洛谷题目编号题目名称考点难度B3849进制转换样题十进制转R进制2R36基础B3868进制判断202309真题判断字符串是否可能是某进制基础B3869进制转换202309四级K进制转十进制基础B2143进制转换递归实现十进制转任意进制基础P1143进制转换任意进制间转换经典题进阶B4358奇偶校验202506位运算基础应用进阶说明以上题目均可在洛谷luogu.com.cn搜索编号找到。B3849和B3868与本课件内容直接对应建议优先练习。B2143是洛谷入门题库中的经典进制转换题适合巩固递归思想。P1143难度稍高适合学有余力的同学拔高。

相关新闻

前端工程规范落地周报:用机器可执行的门禁守住代码质量红线

前端工程规范落地周报:用机器可执行的门禁守住代码质量红线

几乎每一个前端团队都经历过这样尴尬的局面:技术专家花了几周时间精心编写了一份长达几十页的《前端架构与代码开发规范》,在团队周会上组织全员宣贯,大家一致鼓掌通过并庄重归档到团队 Wiki 知识库中。然而仅仅一个月后去看代码仓库&#xf…

2026/10/12 21:31:46 阅读更多 →
Go 1.27.1 零拷贝在 LLM 网关中的极限压榨:环形缓冲区与内存池实践

Go 1.27.1 零拷贝在 LLM 网关中的极限压榨:环形缓冲区与内存池实践

在大模型推理场景下,网关的角色与传统 RPC 网关截然不同。面对每秒数万并发的 SSE(Server-Sent Events)流式长连接,传统网关采用的 io.Copy 或通用反向代理往往成为性能瓶颈。模型生成的文本是以小分片(Chunk&#xff…

2026/10/13 22:04:47 阅读更多 →
秋招技术面试心态建设:如何化解紧张感并在面对不会的问题时展现学习潜力

秋招技术面试心态建设:如何化解紧张感并在面对不会的问题时展现学习潜力

每到十月,秋招的空气中总是弥漫着浓厚的焦虑感。经历过多轮严苛的技术笔试与业务交叉面,很多同学的身心已经逼近临界点。在这个阶段,最让候选人产生毁灭性心理崩溃的,往往不是没有复习,而是在面试现场遭遇了**“超出认…

2026/10/12 22:31:32 阅读更多 →

最新新闻

MoE稀疏激活与FP8量化:本地大模型轻量化的实战指南

MoE稀疏激活与FP8量化:本地大模型轻量化的实战指南

1. 项目概述:一场没有硝烟的七日技术风暴“国庆七天,AI圈没一天消停”——这句话不是夸张修辞,而是过去七年里我持续追踪AI产业动态过程中,头一回在长假期间亲眼见证的、真正意义上的“全周期高强度技术迭代现场”。它不像往年那样…

2026/10/13 22:04:47 阅读更多 →
PSO+SA混合优化算法实战:非凸问题高精度求解指南

PSO+SA混合优化算法实战:非凸问题高精度求解指南

简介:本资源为PSO与模拟退火(SA)融合算法的MATLAB实现包,面向智能优化方向的本科生、研究生及算法工程师,聚焦解决复杂多模态函数优化中易陷局部最优、收敛精度不足等典型问题。压缩包共9个文件(5个核心m脚…

2026/10/13 22:04:47 阅读更多 →
谷歌Agent Skill设计模式实战:从工具调用到规划型,5种模式提升生产稳定性

谷歌Agent Skill设计模式实战:从工具调用到规划型,5种模式提升生产稳定性

1. 从“能跑通”到“跑得稳”:Agent Skill 设计模式到底在解决什么问题很多人第一次接触 Agent 开发时,都会经历一个相似的阶段:写一个能调用工具的循环,接上大模型,跑通一个“查天气”“搜资料”“发邮件”的 Demo&am…

2026/10/13 22:04:47 阅读更多 →
种子填充算法详解:从递归实现到扫描线优化

种子填充算法详解:从递归实现到扫描线优化

计算机图形学课程做到实验四,很多同学的卡点已经从“直线怎么画”变成了“一个多边形怎么填满”。前几次实验跑通了点、线、圆这些基本图元之后,到这一步要处理的不再是一条条轮廓线,而是一块块有边界的区域。种子填充算法就是这条线路上最直…

2026/10/13 22:04:47 阅读更多 →
语义词谜游戏设计:绕过拼写训练词汇提取能力

语义词谜游戏设计:绕过拼写训练词汇提取能力

1. 项目概述:当词典变成游戏界面,我们到底在玩什么? “Show HN: Wick, a daily word game where you guess by meaning, not spelling”——这个标题一出现,我就在某开发者社区的首页多刷了三遍。不是因为它的UI有多炫&#xff0c…

2026/10/13 22:04:47 阅读更多 →
Python Plotly交互式数据可视化:从快速出图到精细定制

Python Plotly交互式数据可视化:从快速出图到精细定制

做数据分析的同学都有一个共同感受:数据算完之后,最头疼的不是处理逻辑,而是怎么把结果变成一张别人一眼能看懂的图。这两年我用得最顺手的工具就是 Plotly,一个典型的 Python 交互式绘图库。用 Plotly 创建交互式图表&#xff0c…

2026/10/13 22:03:47 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →