mysql 10进制 转32进制_各进制之间的转换

d0b7e95d1e2313051d004525c2b5562b.png

一、 二进制与十进制之间的转换

1、二进制转十进制(不分整数和小数从最后一位算起,每一位上的数乘以2的几次方,这个次数由这个数字所在的位置决定,从零位开始,然后相加)

例:01101011.001转十进制1乘2的-3次方=0.125

0乘2的-2次方=0

0乘2的-1次方=0

1乘2的0次方=1

1乘2的1次方=2

0乘2的2次方=0

1乘2的3次方=8

0乘2的4次方=0

1乘2的5次方=32

1乘2的6次方=64

0乘2的7次方=0

然后:1+2+0+8+0+32+64+0=107.125

01101011=107

2、十进制转二进制

整数:除2取余法是一个连续除2的过程,直到商出现0时位置,余数反向排列;

例:整数23转二进制:23除2商11余1

11除2商5余1

5除2商2余1

2除2商1余0

1除2商0余1

然后把余数反向排列:23=10111

小数:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分 为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数。

例:0.125转二进制

0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;

0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;

0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;

从第一位读起,读到最后一位,即为0.001。

23.125 转二进制10111.001

二、二进制与八进制之间的转换(基础还是二进制和十进制之间的转换)

取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加,得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位)这里的最高位,最低位和十进制的一样,前面的是最高位,后面的是最低位。

三位二进制表示一位八进制, 因为三位二进制数最大(111)的十进制数也就是7,所以就保证每位数都是0-7之间的数

1、二进制转八进制

例:1100100转为八进制

1100100拆分成:001 100 1000*2^2+0*2^1+1*2^0=1

1*2^2+0*2^1+0*2^0=4

1*2^2+0*2^1+0*2^0=4

依次读下来就是:144

1100100=144

2、八进制转二进制

八进制数与二进制数对应关系如下:0=000

1=001

2=010

3=011

4=100

5=101

6=110

7=111

例:将八进制数653524转换为二进制

110 101 011 101 010 100

三、二进制与十六进制之间的转换(基础还是二进制和十进制之间的转换)

四位二进制表示一位十六进制, 因为四位二进制数最大(1111)也就是十进制的表示法15即十六进制的表示法F,所以就保证每位数都是0-F之间的数。

1、二进制转十六进制

例:1100100 拆分 0110 0100

0110=6

0100=4

1100100=64

2、十六进制转二进制

十六进制数与二进制数之间的对应关系:1-0001

2-0010

3-0011

4-0100

5-0101

6-0110

7-0111

8-1000

9-1001

A-1010

B-1011

C-1100

D-1101

E-1110

F-1111

四、十进制与十六进制之间的转换

其算法和二进制和十进制之间的算法一样只是,由2变成了16

1、十进制转十六进制

例:十进制数123 转成十六进制

123除16商7余B

7除16商0余7

结果就是7B

2、十六进制转十进制

例:十六进数 2AF5第0位:5 * 16^0=5

第1位:F * 16^1=240

第2位:A * 16^2=2560

第3位:2 * 16^3=81925*16^0+F*16^1+A*16^2+2*16^3=10997

2AF5=10997

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值