进制的转换算法要详细

作者&投稿:益菡 (若有异议请与网页底部的电邮联系)
数字进制间的转换方法~

计算机中数的表示方法--二进制
1. 二进制数的运算
电子计算机一般采用二进制数。二进制数只有0和1两个基本数字,容易在电气元件中实现。
二进制数的运算公式:
0+0=0 0×0=0
0+1=1 0×1=0
1+0=1 1×0=0
1+1=10 1×1=1
2.十进制和二进制间的转换
(1) 十进制数转换成二进制
将十进制整数转换成二进制整数时,只要将它一次一次地被2除,得到的余数从最后一个余数读起)就是二进制表示的数。
2) 二进制数转换成十进制数
将一个二进制数的整数转换成十进制数,只要将按权展开。
例:11011=1*24(2的4次方)+1*23(2的3次方)+0*22(2的2次方)+1*21(2的1次方)+1*20(2的0次方)=27
3. 不同进制数的转换
二进制数和八进制数互换:二进制数转换成八进制数时,只要从小数点位置开始,向左或向右每三位二进制划分为一组(不足三位时可补0),然后写出每一组二进制数所对应的八进制数码即可。
例:将二进制数(10110001.111)转换成八进制数:
010 110 001. 111
2 6 1 7
即二进制数(10110001.111)转换成八进制数是(261.7)。反过来,将每位八进制数分别用三位二进制数表示,就可完成八进制数和二进制数的转换。
二进制数和十六进制数互换:二进制数转换成十六进制数时,只要从小数点位置开始,向左或向右每四位二进制划分为一组(不足四位时可补0),然后写出每一组二进制数所对应的十六进制数码即可。
例:将二进制数(11011100110.1101)转换成十六进制数:
0110 1110 0110. 1101
6 E 6 D
即二进制数(11011100110.1101)转换成十六进制数是(6E6.D)。反过来,将每位十六进制数分别用三位二进制数表示,就可完成十六进制数和二进制数的转换。

八进制数、十六进制数和十进制数的转换:这三者转换时,可把二进制数作为媒介,先把代转换的数转换成二进制数,然后将二进制数转换成要求转换的数制形式。

计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点,为了便于描述,又常用八、十六进制作为二进制的缩写。

一般计数都采用进位计数,其特点是:
(1)逢N进一,N是每种进位计数制表示一位数所需要的符号数目为基数。
(2)采用位置表示法,处在不同位置的数字所代表的值不同,而在固定位置上单位数字表示的值是确定的,这个固定位上的值称为权。
在计算机中:D7 D6 D5 D4 D3 D2 D1 D0 只有两种0和1
8 4 2 1

二)、数制转换
不同进位计数制之间的转换原则:不同进位计数制之间的转换是根据两个有理数如相等,则两数的整数和分数部分一定分别相等的原则进行的。也就是说,若转换前两数相等,转换后仍必须相等。
有四进制
十进制:有10个基数:0 ~~ 9 ,逢十进一
二进制:有2 个基数:0 ~~ 1 ,逢二进一
八进制:有8个基数:0 ~~ 7 ,逢八进一
十六进制:有16个基数:0 ~~ 9,A,B,C,D,E,F (A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六进一

1、数的进位记数法
N=a n-1*p n-1+a n-2*p n-2+…+a2*p2+a1*p1+a0*p0
2、十进制数与P进制数之间的转换
①十进制转换成二进制:十进制整数转换成二进制整数通常采用除2取余法,小数部分乘2取整法。例如,将(30)10转换成二进制数。
将(30)10转换成二进制数
2| 30 ….0 ----最右位
2 15 ….1
2 7 ….1
2 3 ….1
1 ….1 ----最左位
∴ (30)10=(11110)2
将(30)10转换成八、十六进制数
8| 30 ……6 ------最右位
3 ------最左位
∴ (30)10 =(36)8

16| 30 …14(E)----最右位
1 ----最左位
∴ (30)10 =(1E)16
3、将P进制数转换为十进制数
把一个二进制转换成十进制采用方法:把这个二进制的最后一位乘上20,倒数第二位乘上21,……,一直到最高位乘上2n,然后将各项乘积相加的结果就它的十进制表达式。
把二进制11110转换为十进制
(11110)2=1*24+1*23+1*22+1*21+0*20=
=16+8+4+2+0
=(30)10

把一个八进制转换成十进制采用方法:把这个八进制的最后一位乘上80,倒数第二位乘上81,……,一直到最高位乘上8n,然后将各项乘积相加的结果就它的十进制表达式。
把八进制36转换为十进制
(36)8=3*81+6*80=24+6=(30)10
把一个十六进制转换成十进制采用方法:把这个十六进制的最后一位乘上160,倒数第二位乘上161,……,一直到最高位乘上16n,然后将各项乘积相加的结果就它的十进制表达式。
把十六制1E转换为十进制
(1E)16=1*161+14*160=16+14=(30)10
3、二进制转换成八进制数
(1)二进制数转换成八进制数:对于整数,从低位到高位将二进制数的每三位分为一组,若不够三位时,在高位左面添0,补足三位,然后将每三位二进制数用一位八进制数替换,小数部分从小数点开始,自左向右每三位一组进行转换即可完成。例如:
将二进制数1101001转换成八进制数,则
(001 101 001)2
| | |
( 1 5 1)8
( 1101001)2=(151)8

(2)八进制数转换成二进制数:只要将每位八进制数用三位二进制数替换,即可完成转换,例如,把八进制数(643.503)8,转换成二进制数,则
(6 4 3 . 5 0 3)8
| | | | | |
(110 100 011 . 101 000 011)2
(643.503)8=(110100011.101000011)2
4、二进制与十六进制之间的转换
(1)二进制数转换成十六进制数:由于2的4次方=16,所以依照二进制与八进制的转换方法,将二进制数的每四位用一个十六进制数码来表示,整数部分以小数点为界点从右往左每四位一组转换,小数部分从小数点开始自左向右每四位一组进行转换。
(2)十六进制转换成二进制数
如将十六进制数转换成二进制数,只要将每一位十六进制数用四位相应的二进制数表示,即可完成转换。
例如:将(163.5B)16转换成二进制数,则
( 1 6 3 . 5 B )16
| | | | |
(0001 0110 0011. 0101 1011 )2
(163.5B)16=(101100011.01011011)2
回答者:tom__com - 秀才 三级 9-27 20:52
windows自带的计算器就可以。
楼主是要笔算吗?那参考以下资料:
一)、数制
计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点,为了便于描述,又常用八、十六进制作为二进制的缩写。

一般计数都采用进位计数,其特点是:
(1)逢N进一,N是每种进位计数制表示一位数所需要的符号数目为基数。
(2)采用位置表示法,处在不同位置的数字所代表的值不同,而在固定位置上单位数字表示的值是确定的,这个固定位上的值称为权。
在计算机中:D7 D6 D5 D4 D3 D2 D1 D0 只有两种0和1
8 4 2 1

二)、数制转换
不同进位计数制之间的转换原则:不同进位计数制之间的转换是根据两个有理数如相等,则两数的整数和分数部分一定分别相等的原则进行的。也就是说,若转换前两数相等,转换后仍必须相等。
有四进制
十进制:有10个基数:0 ~~ 9 ,逢十进一
二进制:有2 个基数:0 ~~ 1 ,逢二进一
八进制:有8个基数:0 ~~ 7 ,逢八进一
十六进制:有16个基数:0 ~~ 9,A,B,C,D,E,F (A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六进一

1、数的进位记数法
N=a n-1*p n-1+a n-2*p n-2+…+a2*p2+a1*p1+a0*p0
2、十进制数与P进制数之间的转换
①十进制转换成二进制:十进制整数转换成二进制整数通常采用除2取余法,小数部分乘2取整法。例如,将(30)10转换成二进制数。
将(30)10转换成二进制数
2| 30 ….0 ----最右位
2 15 ….1
2 7 ….1
2 3 ….1
1 ….1 ----最左位
∴ (30)10=(11110)2
将(30)10转换成八、十六进制数
8| 30 ……6 ------最右位
3 ------最左位
∴ (30)10 =(36)8

16| 30 …14(E)----最右位
1 ----最左位
∴ (30)10 =(1E)16
3、将P进制数转换为十进制数
把一个二进制转换成十进制采用方法:把这个二进制的最后一位乘上20,倒数第二位乘上21,……,一直到最高位乘上2n,然后将各项乘积相加的结果就它的十进制表达式。
把二进制11110转换为十进制
(11110)2=1*24+1*23+1*22+1*21+0*20=
=16+8+4+2+0
=(30)10

把一个八进制转换成十进制采用方法:把这个八进制的最后一位乘上80,倒数第二位乘上81,……,一直到最高位乘上8n,然后将各项乘积相加的结果就它的十进制表达式。
把八进制36转换为十进制
(36)8=3*81+6*80=24+6=(30)10
把一个十六进制转换成十进制采用方法:把这个十六进制的最后一位乘上160,倒数第二位乘上161,……,一直到最高位乘上16n,然后将各项乘积相加的结果就它的十进制表达式。
把十六制1E转换为十进制
(1E)16=1*161+14*160=16+14=(30)10
3、二进制转换成八进制数
(1)二进制数转换成八进制数:对于整数,从低位到高位将二进制数的每三位分为一组,若不够三位时,在高位左面添0,补足三位,然后将每三位二进制数用一位八进制数替换,小数部分从小数点开始,自左向右每三位一组进行转换即可完成。例如:
将二进制数1101001转换成八进制数,则
(001 101 001)2
| | |
( 1 5 1)8
( 1101001)2=(151)8

(2)八进制数转换成二进制数:只要将每位八进制数用三位二进制数替换,即可完成转换,例如,把八进制数(643.503)8,转换成二进制数,则
(6 4 3 . 5 0 3)8
| | | | | |
(110 100 011 . 101 000 011)2
(643.503)8=(110100011.101000011)2
4、二进制与十六进制之间的转换
(1)二进制数转换成十六进制数:由于2的4次方=16,所以依照二进制与八进制的转换方法,将二进制数的每四位用一个十六进制数码来表示,整数部分以小数点为界点从右往左每四位一组转换,小数部分从小数点开始自左向右每四位一组进行转换。
(2)十六进制转换成二进制数
如将十六进制数转换成二进制数,只要将每一位十六进制数用四位相应的二进制数表示,即可完成转换。
例如:将(163.5B)16转换成二进制数,则
( 1 6 3 . 5 B )16
| | | | |
(0001 0110 0011. 0101 1011 )2
(163.5B)16=(101100011.01011011)2

1100100111001100001转换为八进制等于1447141
1100100111001100001转换为十六进制等于64E61
1100100111001100001转换为十进制等于826521
FAD6C转换,2,10,8分别为11111010110101101100,2054872,3726554.
2转8,从左往右,每3位数为1组,不够用0补,用百为的数值乘以2的2次方+十位数值乘以2的1次方+个位上数值乘以2的0次方。
2转16,从左往右,每4位数为1组,不够用0补,用千位上的数值乘以2的3次方,用百为的数值乘以2的2次方+十位数值乘以2的1次方+个位上数值乘以2的0次方。
2转10,101=1乘以2的2次方+0乘以2的1次方+1乘以2的0次方。然后以此类推。


十进制数转换为16进制数的算法是什么?
10d 269除以2,取余数得出二进制 100001101 分组后:0001,0000,1101 得16进制:1,0,D也就是10D 拓展知识:600,3\/5,-7.99……看着这些耳熟能详的数字,你有没有想太多呢?其实这都是全世界通用的十进制,即1.满十进一,满二十进二,以此类推……2.按权展开,第一位权为10^0,第二位10^...

十进制转八进制算法
方法如下:1、间接法:先将十进制转换成二进制,然后将二进制又转换成八进制。2、直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,分为整数部分的转换和小数部分的转换:①整数部分方法:除8取余法,即每次将整数部分除以8,余数为该位权上的...

十进制转八进制算法
十进制转八进制算法 十进制转换为八进制,通常采用除8取余法。具体步骤如下:1. 了解除8取余法的基本原理:即将十进制数连续除以8,并依次记录余数,直到商为0为止。然后将所得的余数从低位到高位排列,即可得到对应的八进制数。这是因为任何数都可以被分解为多个幂的和,而每个幂的基数是特定的进制...

10进制转8进制计算过程
3、将商继续除以8,再次得到商和余数。4、将新的余数记录下来,作为八进制数的次低位数字。5、重复上述步骤,直到商为0为止。将所得的余数按照从低位到高位的顺序组合起来,即得到对应的八进制数。示例演算,以一个具体的示例来说明十进制转八进制的算法步骤。假设要将十进制数42转换为八进制数:42÷...

十进制转八进制算法
十进制小数转换成八进制小数采用"乘8取整,顺序排列"法。具体做法是:用8乘十进制小数,可以得到积,将积的整数部分取出,再用8乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

十六进制转换成十进制的具体算法?
十六进制转换成十进制的具体算法是:1、首先明白16进制数(从右到左数是第0位,第1位,第2位……)的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方,依次这样排列下去。2、明白ABCDEF表示的二进制数字分别是10,11,12,13,14,15。3、十六进制转换成十进制的...

十进制变二进制算法
十进制变二进制算法如下:十进制变二进制算法是一种将十进制数转换为二进制数的计算方法。通过不断除以2并取余数的方式,将十进制数逐位转换为二进制数。1、算法描述 十进制变二进制的算法可以描述如下:将给定的十进制数除以2,得到商和余数。将得到的余数作为二进制数的当前位数,先取最后一位,再...

十转八进制怎么算
将商继续除以8,得到新的商和余数。将新的余数作为八进制数的下一位数字,放在上一位数字的左边。重复步骤3和步骤4,直到商为0为止。将所得的八进制数从最高位到最低位排列起来,即得到最终的八进制数。三、示例演算让我们以一个具体的示例来说明十进制转八进制的算法步骤。假设要将十进制数42转...

二进制转化为十进制怎么转?
二进制:11111111 八进制:377 十六进制:FF 整数算法是这样的:除2取余 读取次序为:最后一位为最高位,第一位为最低位,就是从下往上读。小数算法是:乘2取整。顺序读取即乘出来的第一个数为最高位,一次往下,就是从上到下读。二进制转换为8进制的算法很简单从个位开始整数部分从右到左3个...

进制转换算法
很简单的,给你看两个例子你就明白了。十进制转二进制:用2辗转相除取余至到结果为1,将余数和最后的1从下向上倒序写就是结果 例如 :302 转换成二进制 302\/2 = 151余0 151\/2 = 75余1 75\/2 = 37余1 37\/2 = 18余1 18\/2 = 9余0 9\/2 = 4余1 4\/2 = 2余0 2\/2 = 1余0 ...

西夏区13644095508: 数学的`八进制,十进制,十六进制这些,怎么算?(我要详细的) -
典福骨肽:[答案] 一、 十进制与二进制之间的转换 (1) 十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持...

西夏区13644095508: 进位制怎么转化 -
典福骨肽:[答案] 计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解. 2进制,用两个阿拉伯数字:0、1; 8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7; 10进制,用十个阿拉伯数字:0到9; 16进制就是逢16进1,但我们...

西夏区13644095508: 十进制转二进制的公式 -
典福骨肽:[答案] 举一个例子: 将十进制的25转为二进制的数. 25/2=12.1(余数) 12/2=6 .0 6/2=3 .0 3/2=1 .1 1/2=0 .1 然后我们将余数按从下往上的顺序书写就是:11001,那么这个11001就是十进制25的二进制形式

西夏区13644095508: 求十进制二进制八进制十六进制互相转换滴详细计算方法??最好带有实
典福骨肽: 二进制数转换为十进制数 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……所以,设有一个二进制数:0110 0100,转换为10进制为:下面是竖式: 0110 ...

西夏区13644095508: 不同进制之间的换算,给出计算过程 1、(1101010)2=( )8 2、(5F)16=( )10 -
典福骨肽:[答案] 首先把二进制换算成十进制 总最高位开始算 从左数的第一位乘以2+从左数的第二位1=3 在用得到的3乘以2加上从左数的第三位0=6 一次类推 得到的十进制数为106 然后开始换算成8进制 用十进制106除以8得到13余2即13*8+2=106 此时余数即为个位...

西夏区13644095508: 计算机各进制之间的转换方法 -
典福骨肽: 10进制转换成其他的都是除以要转换成的那个数,也就是说转换成二进制的就除以2,转换成八进制的就除以8,转换成十六进制的就除以16,然后倒取余数.具体例题如下 10---2:把20转换成二进制 20/2=10..........余数为0 10/2=5...........余数为0 ...

西夏区13644095508: 谁能给我一份进制之间转换的详细算法
典福骨肽: 十进制转二进制 如:100转为二进制 2|100 50―余―0 个位 25―余―0 第二位 12―余―1 第三位 6―余―0 第四位 3―余―0 第五位 1―余―1 第6位 0―余―1 第7位 即1100100 其他也一样,只要把除2改成除8,16就可以了

西夏区13644095508: 进制的转换方法 -
典福骨肽: 二进制、八进制、十六进制转换为十进制----------按位权展开. 二进制转换十进制 二进制数第0位的权值是2的0次方,第1位的权值是2的1次方…… 例如,设有一个二进制数:0110 0100,转换为10进制为: 下面是竖式: 0110 0100 换算成 十进...

西夏区13644095508: 请问谁知道进制之间的转换公式.详细的.谢谢
典福骨肽: 我给你几个例子这样看的更明白些,好不? 二进制数1101转十进制: 1*2的三次幂+1*2的二次幂+0*2的一次幂+1*2的零次幂=8+4+0+1=13 八进制507转十进制 5*8的2次幂+0*8的1次幂+7*8的0次幂= 5*64+0*8+7*1=327(10进制) 10进制327转...

西夏区13644095508: 计算机导论,进制之间的转换,求解,要详细过程. -
典福骨肽: 答案:1010111 方法 1 先转换为十进制再转换为二进制八进制 (127)=十进制((1*8^2 + 2*8^1 + 7*8^0)=87) 十进制(87)=二进制(1010111) 过程如下 87%2=43---1 43%2=21---1 21%2=10---1 10%2=5---0 5%2=2---1 2%2=1---0然后从下到上把所有的1,0串起来. 方法 2 如下面热心网友回答:拆分八进制 ,因为八进制最大基数 为 7 , 由于二进制下 3位 111 即可表示 7=1*2^2 + 1*2^1 + 1*1^0;所以 1 2 7001 010 111 =1010111

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网