总目录
文章目录
- 总目录
- 一、常用进制
- 1、进制基本信息
- 2、各进制的表示形式
- 二、进制转换原理
- 1、其他进制转为十进制计算原理
- 2、十进制转为其他进制计算原理
- 3、二进制,八进制,十六进制之间的转换
- 结语
一、常用进制
1、进制基本信息
基数 | 数码 | 名称 | 描述 |
---|---|---|---|
2 | 0 和 1 | 二进制 | 逢二进一,几乎所有的电子计算机内部都使用二进位制,分别为“0”和“1”表示“关”和“开”。 |
8 | 0 - 7 | 八进制 | 逢八进一,偶尔用于计算机领域,2到3次幂。八位数字为“0-7”。 |
10 | 0 - 9 | 十进制 | 逢十进一,世界上最常见的算术运算位进制系统,十位数字为 “0-9” |
16 | 0-9 + A-F | 十六进制 | 逢十六进一,经常用于计算机领域。十六位数字为“0-9”,接着是“A-F”(小大写均可)。 |
2、各进制的表示形式
对于进制的表示,编程语言基本上都提供了特殊前缀表示不同进制的数字。
为啥要区分表示呢?就比如说我写个数字111 要是我不告诉你他是什么进制的,你如何知道你真实表示的值呢?
不同的编程语言与编译器都会有自己的一套表示方式,在C#中数字的进制表示形式如下:
- 二进制由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头,例如:
//合法的二进制
int a = 0b101; //换算成十进制为 5
int b = 0B100001; //换算成十进制为 33
Console.WriteLine(a); //5
Console.WriteLine(b); //33
//非法的二进制
int c = 101010; //无前缀 0B,相当于十进制
int d = 0B410; //4不是有效的二进制数字
- 八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o),例如:
//合法的八进制数
int a = 015; //换算成十进制为 13
//非法的八进制
int m = 256; //无前缀 0,相当于十进制
int n = 03A2; //A不是有效的八进制数字
-
十进制数字则没有特殊前缀,直接输入数字即可。
-
十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头,例如:
//合法的十六进制
int a = 0X2A; //换算成十进制为 42
int b = -0XA0; //换算成十进制为 -160
int c = 0xffff; //换算成十进制为 65535
Console.WriteLine(a);// 42
Console.WriteLine(b);// -160
//非法的十六进制
int m = 5A; //没有前缀 0X,是一个无效数字
int n = 0X3H; //H不是有效的十六进制数字
该图是Windows系统中,自带的计算器,HEX表示16进制,DEC表示10进制,OCT表示8进制,BIN表示2进制,后续在编程的时候命名各类进制的变量有一定的参考意义
二、进制转换原理
不管什么进制,都是一种计数形式,原理上都是相同的:x进制 就是 逢x进一。
这部分内容:主要是学习了抖音博主【小飞有点东西】后自行编写。
1、其他进制转为十进制计算原理
- 以十进制为例,十进制有 0 - 9 共计10个数字,我们通过实际案例计算过程理解一下其中原理
由上可知(上述过程相当于“10进制转10进制”):
当我们是10进制的时候,那么底数为10 ,次方数 从0开始
个位数 就是 个位数字 乘以 10 的 0 次方,依次类推,然后将 各位数 计算的结果相加 就是最终结果
- 根据10进制计算原理,我们计算二进制转十进制
- 八进制转为 十进制
- 十六进制转为 十进制
2、十进制转为其他进制计算原理
十进制转化为其他进制 主要是通过【连除法】
- 十进制转为 二进制
- 十进制转为 八进制
- 十进制转为 十六进制
3、二进制,八进制,十六进制之间的转换
- 由于2的3次方=8,因此每3位二进制可以转换为1位八进制
- 由于2的4次方=16,因此每4位二进制可以转换为1位16进制
2进制与16进制 相互转换同理:
- 2 =>16 是每4位二进制一组,然后将4位计算的结果拼起来 就是 16进制的结果
- 16=>2 是将16进制的每个数字,分别进行2的连除,连除得到的结果,不足4位二进制的,前面用0补足,然后 拼起来即可
结语
以上就是本文的内容,希望以上内容可以帮助到您,如文中有不对之处,还请批评指正。
参考文档:
C语言中的二进制、八进制和十六进制的表示