一、二进制.十进制.八进制.十六进制四种算法之间的互相转换).讲简洁.明白
几种进制的解释与转化说明 一)、数制计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点,为了便于描述,又常用八、十六进制作为二进制的缩写.一般计数都采用进位计数,其特点是:(1)逢N进一,N是每种进位计数制表示一位数所需要的符号数目为基数.(2)采用位置表示法,处在不同位置的数字所代表的值不同,而在固定位置上单位数字表示的值是确定的,这个固定位上的值称为权.在计算机中:D7 D6 D5 D4 D3 D2 D1 D0 只有两种0和18 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*p02、十进制数与P进制数之间的转换①十进制转换成二进制:十进制整数转换成二进制整数通常采用除2取余法,小数部分乘2取整法.例如,将(30)10转换成二进制数.将(30)10转换成二进制数2| 30 ….0 ----最右位2 15 ….12 7 ….12 3 ….11 ….1 ----最左位∴ (30)10=(11110)2将(30)10转换成八、十六进制数8| 30 ……6 ------最右位3 ------最左位∴ (30)10 =(36)8 16| 30 …14(E)----最右位1 ----最左位∴ (30)10 =(1E)163、将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)103、二进制转换成八进制数(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)24、二进制与十六进制之间的转换(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。
二、十进制转换
所有算法的书或者计算机原理的数都讲二进制都会讲。
下面是简单例子: 二进制数11011011变成十进制=1*2^7+1*2^6+0*2^5+1*2^4+1*2^3+0*2^2+1*2^1+1*1^0=219。 变成十六进制,11011011 分成1101和1011,1101是十进制的13,1011是十进制的11,所以11011011的十六进制就是DB。
逆运算就是把十进制的变成二进制或者十六进制的,拿十进制的数来做短除法,同样拿219为例: 变二进制 都以2为除数 219/2 商109 余1 109/2 商54 余1 54/2 商27 余0 27/2 商13 余1 13/2 商6 余1 6/2 商3 余0 3/2 商1 余1 1/2商0 余1,二进制的219就是上面余数倒过来排=11011011, 同样十六进制就是拿16来除十进制的数 219/16 商13 余11 13/16 商0 余13 十六进制的219就是DB。 写的脖子都酸了,看明白了吗?最好找本书看看,不要图方便在爱问上面问。
三、【进制转换问题,我说的是笔算八进制怎样转化为二进制:下面例子里
从个位起每三个数字组合,得出一个八进制数,不足补0.1000001,可写成001 000 001,于是对应的八进制数是101,写成八进制形式(101)8.十六进制转化为十进制,可以直接用位权计算;转化为八进制需转化为二进制;转化为二进制,从个位起到高位,将每个十六进制数字拆分为4为二进制数,不足的前面补0.八进制是三位二进制,十六进制是四位二进制,所以先要转化为二进制,再每四位变成一个十六进制数字.十六进制从个位起,每个十六进制数字拆为4位二进制,不足补0,从低位到高位写.补充:(206)8=010 000 110.(3)16=(0011)2,先拆为二进制11,再添加0.十六进制数转化为二进制数计算,如(abcd)16=d*16^0+c*16^1+b*16^2+a*16^3,算出的数即为对应的十进制.。
四、用C编写各种进制转换程序
LZ应该是要程序!我自己编了个,应该能满足LZ要求。
#include #define base 8 /*要转换成几进制数/*#define DIGIT 100 /*转换数的位数/*int main(void){ int i,input; int x[DIGIT]; printf("Please enter(Enter q to quit)") while(scanf("%d",&input)==1) { for (i=0;input!=0;input/=base) x[i]%=input; for (;i。
-
努比亚z9max手机音乐效验
该机拥有HIFI级音乐芯片,音乐效果不凡。具体体现在:1.音量调节,正常听音乐中高低音都是一个音量,而杜比音效能动态扩大某个音量。比如放打鼓声,杜比会及时提高低音加强鼓声。2.加强音域,杜比音效有开阔、集中、…
-
是atChristmas还是inChristmas
此处该用“on”。在圣诞节正确表达应为 “on Christmas ”。有具体日期的,比如知道几月几日的都用“on” ;不知道日期,但知道年份和月份的用“in” ,知道具体时间,比如几点几分用“at”。…
-
个体工商户应交纳什么税
纳税标准根据国家税务总局《个体工商户定期定额征收管理办法》文件精神 ,定期定额征收方式适用的税种及税率如下:1、根据《中华人民共和国增值税暂行条例》规定,自2009年1月1日起,小规模纳税人增值税征收率为3%…
-
材料成本差异率为负数是什么意思
材料成本差异额,是指材料的实际成本和计划成本之间的差额。差异率负数表示节约差异,即实际成本比计划成本小。正数表示超支差异,即实际成本比计划成本大。…
-
塞翁失马焉知非福是什么意思
比喻一时虽然受到损失,反而因此能得到好处。也指坏事在一定条件下可变为好事,反之亦然。形容人的心态,一定要乐观向上,任何事情都有二面性,不好的一面,有可能向好的一面转化。塞翁失马,焉知非福出自《 淮南子…