二,八,十,十六进制等常用进制详解

总目录


文章目录

  • 总目录
  • 一、常用进制
    • 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不是有效的十六进制数字

二,八,十,十六进制等常用进制详解_第1张图片
该图是Windows系统中,自带的计算器,HEX表示16进制,DEC表示10进制,OCT表示8进制,BIN表示2进制,后续在编程的时候命名各类进制的变量有一定的参考意义

二、进制转换原理

不管什么进制,都是一种计数形式,原理上都是相同的:x进制 就是 逢x进一。

1、其他进制转为十进制计算原理

  • 以十进制为例,十进制有 0 - 9 共计10个数字,我们通过实际案例计算过程理解一下其中原理

二,八,十,十六进制等常用进制详解_第2张图片
由上可知(上述过程相当于“10进制转10进制”):
当我们是10进制的时候,那么底数为10 ,次方数 从0开始
个位数 就是 个位数字 乘以 10 的 0 次方,依次类推,然后将 各位数 计算的结果相加 就是最终结果

  • 根据10进制计算原理,我们计算二进制转十进制

二,八,十,十六进制等常用进制详解_第3张图片

  • 八进制转为 十进制

二,八,十,十六进制等常用进制详解_第4张图片

  • 十六进制转为 十进制
    二,八,十,十六进制等常用进制详解_第5张图片

2、十进制转为其他进制计算原理

十进制转化为其他进制 主要是通过【连除法】

  • 十进制转为 二进制

二,八,十,十六进制等常用进制详解_第6张图片

上面计算过程看不惯,也可用以下形式表示:

25➗2=12···················1
12➗2=6·····················0
6➗2=3·······················0
3➗2=1·······················1
1➗2=0·······················1

  • 十进制转为 八进制

二,八,十,十六进制等常用进制详解_第7张图片

  • 十进制转为 十六进制

二,八,十,十六进制等常用进制详解_第8张图片

3、二进制,八进制,十六进制之间的转换

  • 由于2的3次方=8,因此每3位二进制可以转换为1位八进制
  • 由于2的4次方=16,因此每4位二进制可以转换为1位16进制

二,八,十,十六进制等常用进制详解_第9张图片

2进制与16进制 相互转换同理:

  • 2 =>16 是每4位二进制一组,然后将4位计算的结果拼起来 就是 16进制的结果
  • 16=>2 是将16进制的每个数字,分别进行2的连除,连除得到的结果,不足4位二进制的,前面用0补足,然后 拼起来即可

结语

以上就是本文的内容,希望以上内容可以帮助到您,如文中有不对之处,还请批评指正。


参考文档:
C语言中的二进制、八进制和十六进制的表示
Python里的进制转换

你可能感兴趣的:(编程基础,c#,开发语言)