news 2026/6/10 16:50:46

简单理解:无论你写的是十进制、十六进制还是八进制,最终存储到寄存器(以及内存、CPU)中的数据,本质上都是二进制形式。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
简单理解:无论你写的是十进制、十六进制还是八进制,最终存储到寄存器(以及内存、CPU)中的数据,本质上都是二进制形式。

这个问题问到了计算机底层数据表示的核心点上。

核心原理解释

首先要明确:无论你写的是十进制、十六进制还是八进制,最终存储到寄存器(以及内存、CPU)中的数据,本质上都是二进制形式

你可以把这个过程理解为:

  1. 人类层面:你用十进制(比如10)、十六进制(比如0xA)、八进制(比如0o12)书写数值,只是为了方便自己阅读和计算(寄存器配置常用十六进制,因为 1 位十六进制对应 4 位二进制,更直观)。
  2. 编译器 / 解释器层面:当你编写代码(如 C、Python、汇编)并编译 / 执行时,编译器 / 处理器会自动将你写的任何进制的数,转换成二进制补码形式。
  3. 硬件层面:寄存器作为硬件电路,只能识别高低电平(对应二进制的 0 和 1),所以它 “只认识” 二进制,不存在 “默认转换” 的说法 —— 而是你写的所有进制数,最终都会被转换成二进制后才能被寄存器识别。

代码示例验证

以最常见的寄存器配置场景(嵌入式 C 语言)为例,看不同进制写法的最终效果:

#include <stdio.h> int main() { // 给寄存器(这里用变量模拟)配置数值,三种进制表示同一个数(十进制10) unsigned int reg_val_dec = 10; // 十进制 unsigned int reg_val_hex = 0xA; // 十六进制(寄存器配置最常用) unsigned int reg_val_bin = 0b1010;// 二进制(部分编译器支持) // 输出二进制形式(验证是否一致) printf("十进制10的二进制:"); for(int i=7; i>=0; i--) printf("%d", (reg_val_dec >> i) & 1); // 输出8位二进制 printf("\n十六进制0xA的二进制:"); for(int i=7; i>=0; i--) printf("%d", (reg_val_hex >> i) & 1); printf("\n二进制0b1010的二进制:"); for(int i=7; i>=0; i--) printf("%d", (reg_val_bin >> i) & 1); return 0; }

输出结果

十进制10的二进制:00001010 十六进制0xA的二进制:00001010 二进制0b1010的二进制:00001010

可以看到,无论你用哪种进制书写,最终在寄存器(变量)中存储的二进制都是00001010—— 区别只在于你书写时的 “表达方式”,而非底层存储形式。

寄存器配置的小建议

在实际寄存器配置中,几乎不会用十进制,而是优先用十六进制

  • 比如寄存器的某 4 位对应一个功能,十六进制0x1对应二进制00010xF对应1111,能直观对应寄存器的位域;
  • 十进制15虽然也等于1111,但无法一眼看出它对应 4 位全 1,可读性差。

总结

  1. 寄存器只能存储二进制数据,你写的任何进制数都会被编译器 / 处理器自动转换成二进制;
  2. “写十进制” 只是人类的书写习惯,不影响底层的二进制存储本质;
  3. 寄存器配置建议用十六进制,而非十进制,因为能更直观对应寄存器的位结构。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 15:08:33

玩转风光储并网系统建模

风光储并网系统 matlab/simulink风光储能并网交直流发电系统仿真模型&#xff0c;2018a版本&#xff0c;2021a版本 1&#xff09;光伏和风电均采用扰动观察法最大功率跟踪 2&#xff09;蓄电池为双向DC-DC变换器&#xff0c;采用电压环和电流环控制的双闭环控制&#xff0c;且电…

作者头像 李华
网站建设 2026/6/10 11:43:04

当配电网遇上遗传算法:手撕分布式电源优化配置

遗传算法编程分布式电源优化配置问题&#xff0c;配电网电源规划 利用遗传算法对IEEE33节点配电网DG优化配置 针对DG优化配置问题 &#xff0c;以DG配置总成本最少为 目标构建目标函数 。 其中总 成本包括发电成本 、网损成本 、DG环境成本 &#xff0c;以实际系统运行时的要求…

作者头像 李华
网站建设 2026/6/9 18:36:06

日拱一卒之学习记录2

日拱一卒之学习记录2 偏导数和梯度 https://www.bilibili.com/video/BV1WRBKBWEfv/?t11&spm_id_from333.1007.tianma.4-3-13.click&vd_source2628a15fe80f3d2b080c88ee7155b8a3 由热力学引入&#xff0c;相当于是从比较直观的能在日常生活中看到的事情作为引子&…

作者头像 李华
网站建设 2026/6/10 12:10:28

Linux网络栈太慢?DPDK如何做到100倍性能提升

去年在做一个高频交易系统的网络模块时,我遇到了一个让人抓狂的问题:明明用的是万兆网卡,但实测吞吐量却连理论值的十分之一都达不到。CPU占用率倒是很高,但数据就是发不出去。 排查了一圈,问题指向了Linux内核网络栈。 这不是个例。很多做高性能网络的工程师都会遇到类…

作者头像 李华