进制换算

二进制                              -->                          八进制
(01101)                                                           15
过程:
    001                                        101
(1*2^0)=1                           (1*2^2+0*2^1+1*2^0)=5
(01101) -->  15

二进制                            -->                            十进制
(01101)                                                            13
过程:
 01101(0*2^4) + (1*2^3) + (1*2^2) + (0*2^1) + (1*2*0)
=0+8+4+1
=13
(01101)  -->  13

二进制                            -->                             十六进制
(01101)                                                             D
过程:
    0000                                       1101
       0                 (1*2^3) + (1*2^2) + (0*2^1) + (1*2^0)=13=D
(01101)  -->  D
八进制  -->  二进制
56               101110
过程:
5 = 101        6=110
56 -->  101110

八进制  -->  十进制
56                 46
过程:
(5*8^1) + (6*8^0)  =  46
56  -->  46

八进制  -->  十六进制
56                 2E
过程:
八进制 --> 十进制(二进制)  -->  十六进制
56(八进制)  -->  46(十进制)  -->  2E
46/16 = 2...14(E)
56  -->  2E
十进制 -->  二进制
56             111000
过程:
不断除2
56/2 = 28...0
28/2 = 14...0
14/2 = 7...0
7/2 = 3...1
3/2 = 1...1
56  -->  111000

十进制  -->  八进制
56               70
过程:
56/8 = 7...0
56  -->  70

十进制  -->  十六进制
56                 38
过程:
56/16 = 3...8
56  -->  38
十六进制  -->  二进制
56               01010110
过程:
  5                         6
0101                  0110
56  -->  01010110

十六进制  -->  八进制
56
过程:
十六进制  -->  十进制(二进制)  -->  八进制
56(十六进制)  -->  01010110(二进制)  -->  126(八进制)
56  -->  126

十六进制  -->  十进制
56
过程:
56
(5*16^1) + (6*16^0)  = 86
56  -->  86

将八进制数字 423.5176 转换成十进制:

423.5176 = 4×82 + 2×81 + 3×80 + 5×8-1 + 1×8-2 + 7×8-3 + 6×8-4 = 275.65576171875(十进制)

小数部分和整数部分相反,要从左往右看,第1位的位权为 8-1=1/8,第2位的位权为 8-2=1/64,第3位的位权为 8-3=1/512,第4位的位权为 8-4=1/4096 …… 第m位的位权就为 8-m。

再如,将二进制数字 1010.1101 转换成十进制:

1010.1101 = 1×23 + 0×22 + 1×21 + 0×20 + 1×2-1 + 1×2-2 + 0×2-3 + 1×2-4 = 10.8125(十进制)

小数部分和整数部分相反,要从左往右看,第1位的位权为 2-1=1/2,第2位的位权为 2-2=1/4,第3位的位权为 2-3=1/8,第4位的位权为 2-4=1/16 …… 第m位的位权就为 2-m。

更多转换成十进制的例子:

二进制:1001 = 1×23 + 0×22 + 0×21 + 1×20 = 8 + 0 + 0 + 1 = 9(十进制)
二进制:101.1001 = 1×22 + 0×21 + 1×20 + 1×2-1 + 0×2-2 + 0×2-3 + 1×2-4 = 4 + 0 + 1 + 0.5 + 0 + 0 + 0.0625 = 5.5625(十进制)
八进制:302 = 3×82 + 0×81 + 2×80 = 192 + 0 + 2 = 194(十进制)
八进制:302.46 = 3×82 + 0×81 + 2×80 + 4×8-1 + 6×8-2 = 192 + 0 + 2 + 0.5 + 0.09375= 194.59375(十进制)
十六进制:EA7 = 14×162 + 10×161 + 7×160 = 3751(十进制)

N进制-->十进制(小数)

十进制小数转换成 N 进制小数采用“乘 N 取整,顺序排列”法。具体做法是:

用 N 乘以十进制小数,可以得到一个积,这个积包含了整数部分和小数部分;
将积的整数部分取出,再用 N 乘以余下的小数部分,又得到一个新的积;
再将积的整数部分取出,继续用 N 乘以余下的小数部分;
……
如此反复进行,每次都取出整数部分,用 N 接着乘以小数部分,直到积中的小数部分为 0,或者达到所要求的精度为止。
把取出的整数部分按顺序排列起来,先取出的整数作为 N 进制小数的高位数字,后取出的整数作为低位数字,这样就得到了 N 进制小数。

十进制-->N进制(小数)

参考小数:https://zhuanlan.zhihu.com/p/65554778

原文地址:https://www.cnblogs.com/sxdbk/p/11575015.html

时间: 2024-11-06 10:02:21

进制换算的相关文章

第三节(进制换算,字符编码,变量)

<1>进制换算(不详讲) <2>字符编码 <3>变量 例题:public class ming{ /* char类型 char是字符类型,java中采用UNICODE编码 底层占两个字节 char类型涉及到 字符编码方式 1. 字符编码方式 是现实世界中的文件和计算机的表示方式的转换规则 ASCII 'a' 97 'A' 65 '0' 48 对应的二进制是多少 IOS-8859-1 GB2312 < GBK < GB18030 从容量上看,是包含关系 uni

py进制换算器

1 Shuzi = "Q" 2 Jeishu = "Z" 3 4 while 1: 5 Shuru = input("请输入一个整数(输入Q开启下次程序,输入Z终止程序):") 6 if Jeishu not in Shuru: # 判断Shuru是否为Z 7 while 1: 8 if Shuzi not in Shuru: # 判断Shuru是否为Q 9 if not Shuru.isnumeric(): # 判断Shuru是否为int 10

C语言基础总结 ( 一 )----------函数和进制的总结

1. 函数分类 1) 无参无返回值函数一般用于执行某些固定的功能.(打印logo) 2) 无参有返回值函数一般用于获取某些数据或结果.(获取数字) 3) 有参无返回值函数一般利用参数完成某些特定功能.(根据传入数字生成星星矩阵) 实参与形参的传递过程,两个参数互不相干. 4) 有参有返回值函数一般用于处理数据,得到处理结果.(数据的转换.计算和统计整合数据) 2. 递归函数 1)递归需要可以跳出才有意义 2)主调函数就是被调函数 案例:  1. 等差数列     1 3 5 7 9... 2.

详解2进制,10进制,16进制,8进制,36进制

本篇介绍C/C++语言中的进制的概念,主要介绍2进制.10进制.16进制,这三种是编程时必须掌握的也是最经常使用的.另外,介绍8进制和36进制,当中 36进制在实际project项目中会遇到. (本文选自<C/C++学习指南>.邵发.附录"2进制,10进制,16进制") 讲2进制.10进制.16进制的视频教程,点击观看 权利声明:作者拥有本书的所有权利. 作者授权不论什么人都能够自由转载本站点公布的内容,但转载时必须遵守下面限制: ①转载时必须全文转载.不得有不论什么改动,

详细解释2进制,10进制,16进制,8进制,36进制

本篇介绍C/C++语言中的进制的概念,主要介绍2进制.10进制.16进制,这三种是编程时必须掌握的也是最常用的.另外,介绍8进制和36进制,其中 36进制在实际工程项目中会遇到. (本文选自<C/C++学习指南>,邵发,附录"2进制,10进制,16进制") 权利声明:作者拥有本书的全部权利.作者授权任何人都可以自由转载本网站发布的内容,但转载时必须遵守以下限制: ①转载时必须全文转载,不得有任何修改,必须包含"权利声明"和"官网地址"

python数据结构:进制转化探索

*********************************第一部分******************************************************************* *********************************************************************************************************************** # 输入excel的行号,输出对应列的序号(从0开

RGB颜色与16进制颜色的换算方法

网页中表示颜色的常见方法有: 1.Color Name(颜色名称) 用颜色名称来指定颜色,这种方法简洁直观,一看就知道是什么颜色,但最大的缺点是颜色的名称太少,不能有效的表示一些较丰富的颜色 2.RGB(RGB记法) 3.HEX(十六进制记法) RGB记法和十六进制记法都能很好的表示出一些较为丰富的颜色,但是我们用到16进制的比较多,语法为#RRGGBB,下面说下我刚研究出来的转换方法: 我们都知道 RGB记法rgb(255,255,255)=十六进制记法#FFFFFF,都表示白色 RGB记法r

计算机进制转换

一.计算机只认识0和1,二进制. 二.2进制转换成 8进制 和 16进制,如下图: 二进制 > 八进制 :  研究上图发现,3位最高二进制可以用来表示一位八进制.所以,将二进制分解每3位,不够前面补0,然后每3位转换为10进制,顺序排列即可. 二进制 > 十六进制  :4位最高二进制可以用来表示一位十六进制.所以,将二进制分解每4位,不够前面补0,然后每4位转换为10进制,超过9用字母表示即可.顺序排列即可. 如下: 二进制 > 十进制:   11001001 = 2^7+2^6+2^3

Java 将字节转化为16进制字符串

很多时候我们需要将字节数组转化为16进制字符串来保存,例如做I/O字节流操作的时候,尤其在很多加密的场景中应用都比较广泛. Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示,所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16进制字符H和L,并组合起来得到byte 转换到16进制字符串的结果new String(H) + new String(L).即byte用十六进制表示只占2位. 从上面可以看出