C语言进制转化

数制转化

复制代码
人们在日常生活中经常遇到计数问题,并且人们习惯使用十进制;但在计算机行业;由于二进制与其他进制相比,具有一定的优点。
基础进制:

二进制 (Base-2):使用 0 和 1 表示,最基本的计算机存储方式。

八进制 (Base-8):使用 0 到 7 表示,通常以 0 开头表示。

十进制 (Base-10):我们日常生活中使用的进制,使用 0 到 9 表示。

十六进制 (Base-16):使用 0 到 9 和 A 到 F(或 a 到 f)表示,通常以 0x 或 0X 开头表示。

数据类型:

C 语言的整型数据(如 int, long 等)在内存中是以二进制形式存储的。

使用
%d 打印十进制,
%o 打印八进制,
%x 或 %X 打印十六进制
。

转换函数:

使用标准库函数 strtol() 可以将字符串转换为长整型,支持指定进制。

使用 printf() 和 scanf() 可以直接进行格式化输出和输入。

手动转换:

手动转换可以通过除法和取余操作实现。例如,从十进制转十六进制可以不断除以 16 并记录余数。

可以使用循环和数组来存储和打印转换后的数字。

其他工具:

C 语言中没有直接的内置函数来进行复杂的进制转换,但可以编写自定义函数来处理特定需求。

思维导图描述

以下是思维导图的文本描述,用于展示 C 语言进制转换的主要特点和方法:

C 语言进制转换

├── 基础进制

│ ├── 二进制 (Base-2)

│ ├── 八进制 (Base-8)

│ ├── 十进制 (Base-10)

│ └── 十六进制 (Base-16)

├── 数据类型

│ ├── 整型存储方式 (二进制)

│ └── 打印格式

│ ├── %d // 十进制

│ ├── %o // 八进制

│ ├── %x // 十六进制 (小写)

│ └── %X // 十六进制 (大写)

├── 转换函数

│ ├── strtol() // 字符串转长整型

│ └── printf/scanf // 格式化输入输出

├── 手动转换

│ ├── 除法与取余

│ └── 循环与数组

└── 其他工具

└── 自定义函数

转换计算

十进制转化为二进制:只要连续除以2,直到商为0;就可以由余数求出二进制数值:

这里使用十进制 6 转化为 二进制为 110;大家可以尝试其他数字;

二进制转化为十进制:每个数字乘所在的2次方。

其他进制转化计算过程相同;因为C语言用到很少;我们不详细介绍了。😘

相关推荐
第九序言T12 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
龙亘川13 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人13 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
Raas10014 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
专注仿真14 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
jimy115 小时前
C++ 中的 `T&&`:右值引用与转发引用
开发语言·c++
呆呆虫1215 小时前
用 orjson 加速 SerpBase 响应解析:基准对比与注意事项
开发语言·php
心疼你的一切16 小时前
Python自动发邮件实战定时发报表
大数据·开发语言·python
Zwawa17 小时前
串口为什么会丢字节:从轮询到中断和环形缓冲区
c语言·单片机·嵌入式
Wang's Blog17 小时前
Java 项目实战:交友项目 - 用户体系集成总结
java·开发语言·交友