进制转换(二进制、八进制、十进制与十六进制之间的相互转换)

1.十进制→二进制

方法一:

 从右第n位 8 7 6 5 4 3 2 1
 2n-1 27 26 25 24 23 22 21 20
 十进制下的实际数 128 64 32 16 8 4 2 1
 23=16+4+2+1                            1  0  1
 36=32+4      1  1
 49=32+16+1      1  1  0  0  0  1

计算出想要的数需要用哪一些数字相加,然后在其下写1,空余的用0表示;

方法二:

十进制数逐次整除2,直至商为0,所得余数按照相反的顺序写出,即为其二进制数。

示例:45写成二进制为101101  

45逐次整除2的商        22       11       5       2       1       0

逐次整除2的余数   1          0        1       1       0       1

←←←←←←←←←←←←←←←←←←

把余数从右往左写,即为二进制数

2.二进制数→十进制数

计算公式:a*20+b*21+c*22+d*23+……+n*2(n-1)=

此公式中,a表示二进制数的右边第一位数,b表示二进制数的右边第二位数,以此类推。

示例:101101写成十进制为45

1*20+0*21+1*22+1*23+0*24+1*25=45

3.十进制→八进制(同十进制→二进制)

从右第n位 8 7 6 5 4 3 2 1
8(n-1) 87 86 85 84 83 82 81 80
十进制下的实际数 2097152 262144 32768 4096 512 64 8 1

十进制数逐次整除8,直至商为0,所得余数按照相反的顺序写出,即为其八进制数。

示例:45写成八进制数为55

4.八进制→十进制(同二进制→十进制

计算公式:a*80+b*81+c*82+d*83+……+n*8(n-1)=

此公式中,a表示二进制数的右边第一位数,b表示二进制数的右边第二位数,以此类推。

5.十六进制数:十六进制数为0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)

(1)十进制→十六进制(同十进制→二进制)

示例:45写成十六进制数为2D

(2)十六进制→十进制(同二进制→十进制)

计算公式:a*160+b*161+c*162+d*163+……+n*16(n-1)=

此公式中,a表示二进制数的右边第一位数,b表示二进制数的右边第二位数,以此类推。

6.二进制→八进制

示例:         二进制数        1 0 0   1 1 0   1 0 1

转八进制数           4          6         5

从二进制数右边起每三个数字所代表的十进制中的和为八进制数的一个数字,即二进制数100 110 101写成八进制数为465。

7.八进制→二进制

二进制→八进制的反过程(一位数拆成二进制的三位数)

示例:八进制数1735写成二进制数为1 111 011 101。

8.二进制→十六进制

示例:        二进制数      1001  0111 0111 1001

转十六进制数         9        7      7       9

从二进制数右边起每四个数字所代表的十进制中的和为十六进制数的一个数字,即二进制数1001 0111 0111 1001写成十六进制数为9779。

9.十六进制→二进制

二进制→十六进制的反过程(一位数拆成二进制的四位数)

示例:十六进制数8765写成二进制数为1000 0111 1001 0101

时间: 2024-08-27 15:33:00

进制转换(二进制、八进制、十进制与十六进制之间的相互转换)的相关文章

二进制,八进制,十进制与十六进制之间的相互转换

功能:完成二进制,八进制,十进制与十六进制之间的相互转换(以字符数组形式输入). 要点: 字符数组反序:strrev(char *str); 字符数组转换为十进制整数:atoi(char *str); map容器完成字符到数值的转换: 字符数组完成数值到字符的转换: 1位16进制数可转换为4位2进制数 1位8进制数可转换为3位2进制数 使用右移和与运算代替除法和取余 #include<cstdio> #include<cstring> #include<cstdlib>

Java的进制转换操作(十进制、十六进制、二进制)

2014-05-06 17:34 吴文付 最近由于工作上的需要,遇到进制转换的问题.涉及到的进制主要是 十进制,十六进制,二进制中间的转换. 这里整理一下.具体的计划为:封装一个转换类,一个测试类. 1.十进制 转 十六进制: 2.十进制 转 二进制 3.十六进制 转 十进制: 4.十六进制 转 二进制: 5.二进制转 十进制: 6.二进制转十六进制: Java的进制转换操作(十进制.十六进制.二进制),布布扣,bubuko.com

python的进制转换二进制,八进制,十六进制及其原理

#!usr/bin/env python# coding:utf-8 def binary(): '''二进制的方法与算法'''    Number = 10    Number1 = 20    Number2 = 30    print bin(Number),type(bin(Number1)),bin(Number2) #用十进制算法来表示二进制   # 除余法:10%2=0放入字符串个位'0',5%2=1放入字符串的十位'10',2%2=0放入百位'010',最后余数放入千位'1010

as3 二进制、八进制、十进制、十六进制之间的相互转换

var a:int=1234;//十进制 trace("十进制转二进制",a.toString(2));//二进制 trace("十进制转八进制",a.toString(8));//八进制 trace("十进制转十六进制",a.toString(16));//十六进制 var b:String="10011010010";//二进制 var b1:String="2322";//八进制 var b2:Str

[Swift]二进制、十进制、十六进制之间的转换

整数文字可以写成: 一个十进制数,无前缀,Decimal,简写为D 一个二进制数,有0b前缀,Binary,简写为B 一个八进制数,有0o前缀,Octal,简写为O 一个十六进制数,有0x前缀,Hexadecimal,简写为H 1.二进制和十进制之间的转换 十进制转二进制 1 var str = String(31,radix:2) 2 print(str) 3 //Print 11111  二进制转十进制  1 extension String{ 2 func BinaryToDecimal(

进制转换模板 (十进制 &lt; == &gt; 任意进制 )

/*任意进制 转 十进制 **********************************************/ int pow(int n,int time) { int ans=1; for(int i=1;i<=time;i++) ans*=n; return ans; } int change_any_to_10(char *s,int type) { int ans=0; int len = strlen(s); for(int i=0;i<len;i++) { if(s[i

网络的参考模型。和进制转换

1,网络参考模型 :网络世界的游戏规则 OSI模型--- 开放式系统互连模型-ISO 国际标准化组织TCP/IP模型--一组或者多协议的集合-IEEE 电子电气工程师协会2,OSI七层模型应用层--------用户的接口数据 表示层--------编码解码/加密解密等 会话层--------会话的连接管理数据段-传输层--------分段:端到端的连接数据包-网络层-------- 数据包封装,寻址和路由(选路)数据帧-数据链路层---- 数据帧封装,MAC地址(物理地址)传输数据校验比特 -物

【String与基本类型之间的转换】以及【进制转换】

1. 基本数据类型---->字符串类型: 方法一:使用连接一个空字符串,例如  基本数据类型+“” : 方法二:静态方法 String.valueOf(),具体有: String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串 String.valueOf(char c) : 将 char 变量 c 转换成字符串 String.valueOf(char[] data) : 将 char 数组 data 转换成字符串 String.valueOf(char[]

java中的进制转换

进制转换 首先是十进制转化为其他进制,如二进制,八进制,十六进制: 它们在java中都有专门的函数可供调用: 如:十进制转化为二进制时调用toBinaryString(); 十进制转化为八进制时调用toOctalString(); 十进制转化为十六进制时调用toHexString(); 代码实现: // 进制转化 public class Main_2 { public static void main(String[] args) { Integer a=new Integer(20); //