进制

1、进制
常用的进制有十进制、二进制、八进制和十六进制。

1.1 十进制
十进制是人直接理解的、最习惯的进制,也是通常意义上的数值信息。
十进制由0-9十个字符表示。比如0,122,225

1.2 二进制
计算机和计算机网络的底层即为二进制机制
二进制由0和1两个字符表示。比如000,111
二进制的表达,一般以字节为单位进行连写,字节与字节之间空格以方便观察,比如 10000010 00010001

1.3 八进制
相对使用较少
八进制由0-7八个字符表示,一个八进制字符对应三个二进制字符,因此一个字节使用3个八进制字符,从000到377

1.4 十六进制
是常用的用于表示比特信息的方法,相比于二进制书写更方便
十六进制由0-9,a-f或A-F共16个字符表示,一个十六进制字符对应四个二进制字符,因此一个字节使用2个十六进制字符,从00到ff

2、使用
(1)查看输出
如果想查看计算机中的比特数据,比如读取某文件查看其存储的比特,那么一般是按字节读取,然后选择以上四种编码的一种,转换为文本形式输出到屏幕。
比如存储空间某字节为0001 0001,那么可以转为二进制文本输出00010001共八个字符,或者ff两个字符等形式。
(2)输入
在编程过程中,原码实际都是普通文本,比如123对应的是三个字符。
程序编译和执行过程中,会将作为数值类型的普通文本,按照预定的方法转为相应的进制的数值数据,一般是十进制。然后保存到二进制文件和参与到计算中。

3、前后缀
编程过程中,一般通过不加引号区分一个字面量为数值,然后通过其前后缀识别为相应的进制。
不同编程语言支持的进制和使用的前后缀可能略有差异,但基本类似。
1)二进制,习惯后缀添加字母b或B
2)八进制,习惯前缀添加字母o或O
3)十六进制,习惯前缀添加数字0和字母x或X
4)十进制,一般不添加前后缀,默认。但有时也可以添加后缀d

4、辗转相除法
该方法用于程序计算从十进制数转为其他三种形式
定理:两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。最大公约数(Greatest Common Divisor)缩写为GCD。
gcd(a,b) = gcd(b,a mod b) (不妨设a>b 且r=a mod b ,r不为0)

python实现代码>>>(暂定)

posted @ 2023-07-29 15:48  挖洞404  阅读(22)  评论(0编辑  收藏  举报