二进制数转换为十进制数 怎么转换

[复制链接]
查看11 | 回复5 | 2011-8-24 04:30:45 | 显示全部楼层 |阅读模式
二进制数转换为十进制数最好有个教程或者视频
回复

使用道具 举报

千问 | 2011-8-24 04:30:45 | 显示全部楼层
十进制46对应的二进制数为(101110)46/2=23余023/2=11余111/2=5余15/2=2余12/2=1余0十进制转二进制:用2辗转相除至结果为1将余数和最后的1从下向上倒序写就是结果例如302302/2=151余0151/2=75余175/2=37余137/2=18余118/2=9余09/2=4余14/2=2余02/2=1余0故二进制为100101110二进制转十进制从最后一位开始算,依次列为第0、1、2...位第n位的数(0或1)乘以2的n次方得到的结果相加就是答案例如:01101011.转十进制:第0位:1乘2的0次方=11乘2的1次方=20乘2的2次方=01乘2的3次方=80乘2的4次方=01乘2的5次方=321乘2的6次方=640乘2的7次方=0然后:1+2+0+8+0+32+64+0=107.二进制01101011=十进制107一、二进制数转换成十进制数由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为\"按权相加\"法。二、十进制数转换为二进制数十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。1.十进制整数转换为二进制整数十进制整数转换为二进制整数采用\"除2取余,逆序排列\"法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。2.十进制小数转换为二进制小数十进制小数转换成二进制小数采用\"乘2取整,顺序排列\"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
回复

使用道具 举报

千问 | 2011-8-24 04:30:45 | 显示全部楼层
二进制数转换为十进制数:如:(1111011)2=(((((((0*21)*21)*21)*21)*20)*21)*21)10=((((((1*21)*21)*21)*20)*21)*21)10=((((((21)*21)*21)*20)*21)*21)10=(((((3*21)*21)*20)*21)*21)10=(((((61)*21)*20)*21)*21)10=((((7*21)*20)*21)*21)10=((((141)*20)*21)*21)10=(((15*20)*21)*21)10=(((300)*21)*21)10=((30*21)*21)10=((601)*21)10=(61*21)10=(1221)10=(123)10追问木有看懂
回复

使用道具 举报

千问 | 2011-8-24 04:30:45 | 显示全部楼层
由高位到低位,乘2加数,就可以转换了!
回复

使用道具 举报

千问 | 2011-8-24 04:30:45 | 显示全部楼层
多种数制转换,VC6.0调试通过:#includeiostream.hvoidtenTom(intn,intm)//十进制转m进制{staticcharDTOC[]=\"0123456789ABCDEF\";if(n==0)cout\"转成的\"m\"进制数是:\"endl;else{tenTom(n/m,m);coutDTOC[n%m];}}//字符串转整数intstrToInt(chards[],inttype)//sn字符串type进制{if(type1||type16)return-1;intn=0;for(inti=0;ds!=0;i){n=n*type((\'0\'=ds=ds)?(ds-\'0\'):(ds-\'A\'10));}returnn;}voidmain(){cout\"欢迎使用进制转换程序!\"endl;while(true){inttype,n=0;staticintTYPE[]={0,10,2,8,16};chards[20];cout\"\\n1.十进制\\n2.二进制\\n3.八进制\\n4.十六进制\\n0.退出\\n请选择输入数据的进制:\"endl;cintype;cin.clear();if(type==0)return;type=TYPE[type];cout\"请输入\"type\"进制数据\"endl;cinds;n=strToInt(ds,type);tenTom(n,10);coutendl;tenTom(n,2);coutendl;tenTom(n,8);coutendl;tenTom(n,16);coutendl;}}
回复

使用道具 举报

千问 | 2011-8-24 04:30:45 | 显示全部楼层
2^0*12^1*12^2*02^3*12^4*12^5*12^6*1=1208163264=123(注)“^”表示幂“*”表示乘号比如“2^4*1”意思是2的4次方在乘以1等于16
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行