C语言常见进制 (二进制、八进制、十进制、十六进制)详解
C语言常见进制的详解
- 放在最前面的
- 前言:
- 1、分类
- 2、二进制
- (2.1)二进制的解释说明
- (2.2)关于二进制的计算
- (2.3) 二进制转换为八进制
- (2.4) 二进制转换为十进制
- 3、八进制
- (3.1)八进制的解释说明及计算
- (3.2) 八进制转换为二进制
- (3.3)八进制化为十进制
- 4、十进制
- (4.1)十进制的解释说明
- (4.2)十进制转二进制
- 5、十六进制
- (5.1)十六进制的解释说明
- (5.2)十六进制转换为十进制
- (5.3)十六进制要注意的
- END
放在最前面的
🎈 🎈 我的CSDN主页:OTWOL的主页,欢迎!!!👋🏼👋🏼
🎉🎉我的C语言初阶合集:C语言初阶合集,希望能帮到你!!!😍 😍
👋🏼🎉🎊创作不易,欢迎大家留言、点赞加收藏!!! 🥳😁😍
前言:
本篇博客耗时三个多小时制作!!!
创作不易,欢迎大家留言、点赞加收藏!!!
1、分类
分为:二进制、八进制、十进制、十六进制
其中 数字 0、1 组成的数是 二进制。
- C语言中的表达
在C语言里,整数有三种表示形式:十进制,八进制,十六进制。
其中以数字 0开头,由 0 ~ 7 组成的数是 八进制。
除表示正负的符号外,以1 ~ 9 开头,由 0 ~ 9 组成是 十进制。
以 0X 或 0x 开头(是数字 0),由 A ~ F 或 a ~ f 组成是 十六进制。
1、十进制:除表示正负的符号外,以1 ~ 9开头,由0 ~ 9组成。
如:128,+234,-278。
2、八进制:以0开头,由0~7组成的数。
如:0126, 050000.
3、十六进制:以0X或0x开头,由09,AF或a~f 组成。
如: 0x12A, 0x5a000。
2、二进制
(2.1)二进制的解释说明
二进制:二进制(binary),是在数学和数字电路中以 2 为基数的记数系统,是以 2 为基数代表系统的二进位制。
在这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示 。
例子:
(2.2)关于二进制的计算
二进制数据也是采用位置计数法,其位权是以 2 为底的幂。
例如二进制数据 110,
逢 2 进 1,其权的大小顺序为2²、2¹、2º 。
如图:
(2.3) 二进制转换为八进制
整数部分 从 最低有效位 开始,以 3位一组,最高有效位不足 3位时以 0补齐,每一组 均可转换成 一个八进制的值,转换完毕就是 八进制的整数。
- 例子:
(2.4) 二进制转换为十进制
方法:“按权展开求和”,该方法的具体步骤是先将 二进制的数写成加权系数展开式,而后根据 十进制的加法规则进行求和
例子:
3、八进制
(3.1)八进制的解释说明及计算
以数字 0开头,由0~7组成的数是 八进制。
例子:
八进制,Octal,缩写OCT或O,一种以8为基数的计数法,采用 0,1,2,3,4,5,6,7八个数字,逢 八进1。
例子:
(3.2) 八进制转换为二进制
一些编程语言中常常以数字 0开始表明该数字是 八进制。
八进制的数和二进制数可以按位对应(八进制 一位对应二进制 三位),因此常应用在计算机语言中。
例子:
规则:按照顺序,每 1位 八进制数 改写成等值的 3位 二进制数,次序不变。
(3.3)八进制化为十进制
例:将八进制数12转换成十进制数
4、十进制
(4.1)十进制的解释说明
十进制是 除表示正负的符号外,以1 ~ 9开头,由0 ~ 9组成。
例子:
十进制(Decimal System)是一种计数方法,即满十进一,
第一位位权为 10^0,第二位 10^1 ,第N位 10^(N-1),
该数的数值等于每位的(数值 × 位权)之和。
(4.2)十进制转二进制
- 整数部分
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。
具体做法是:(除2取余)
用 2 去除 十进制整数,可以得到一个 商 和 余数;
再用 2 去除 商,又会得到一个 商 和 余数,
如此进行,直到商为零时为止,
然后,(逆序排列)
先 得到的余数作为二进制数的 低位有效位
后 得到的余数作为二进制数的 高位有效位,依次排列起来。
高位不够,补 0
5、十六进制
(5.1)十六进制的解释说明
以 0X 或 0x 开头(是数字 0) 的是十六进制
例子:
十六进制(简写为 hex 或 下标16 )
是一种基数为16的计数系统,是一种逢16进1的进位制。
通常用数字0、1、2、3、4、5、6、7、8、9
和字母 A、B、C、D、E、F(a、b、c、d、e、f)表示,
其中: A ~ F 表示 10~15,这些称作 十六进制数字。
(5.2)十六进制转换为十进制
十进制数57,在16进制写作39。
(5.3)十六进制要注意的
如今的16进制 普遍应用在计算机领域,这是因为将4个比特位(Bit)化成单独的16进制数字不太困难。
1字节(Byte)可以表示成 2个连续的16进制数字。
可是,这种混合表示法容易令人混淆,因此需要一些字首、字尾或下标来显示。
C语言、C++、Shell、Python、Java语言及其他相近的语言使用字首“0x”,
例如“0x5A3”。
开头的“0”令解析器更易辨认数,而“x”则代表十六进制(就如“O”代表八进制)。
在“0x”中的“x”可以大写或小写。
END
“亲爱的读者们,文章到这里就结束啦😃。
不知道你对本文的内容有什么看法呢🧐?
是赞同还是有不同的见解🤔?
或者在阅读过程中有没有遇到什么疑问❓
都欢迎在评论区留言告诉我哦,期待与你的互动交流🤗!”
每天都在学习的路上!
On The Way Of Learning