首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

二进制转化作十进制

2013-01-06 
二进制转化为十进制例如 1101.01怎么转化为十进制的?[解决办法]小数左边, 是2的N次方来转换.小数右边是按.

二进制转化为十进制
例如 1101.01怎么转化为十进制的?
[解决办法]
小数左边, 是2的N次方来转换.
小数右边是按. 1除2的N次方来转换

1101.01  =  1*2^3 + 1*2^2 + 0*2^1 + 1*2^0 + 0*(1/(2^1)) + 1*(1/(2^2) 
         =   1*8 + 1*4 + 0*2 + 1*1 + 0*0.5 + 1*0.25
         =   8 + 4 + 0 + 1 + 0 + 0.25
         =   13.25
[解决办法]
1101 = 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0
0.01 = 0*2^-1 + 1*2^-2

所以最后结果为13.25
[解决办法]
重新发一下吧

#include “stdio.h”
#define base 2 /*这里你可以转换任何进制的数,这里是2进制*/
int main()
{int n;int str[1000];int i,j;
while(scanf("%d",&n)!=EOF){
i=0;
while(n)
{str[i]=n%base;
i++;
n=n/base;}
if(i==0)
printf("0");
for(j=i-1;j>=0;j--)
printf("%d",str[j]);printf("\n");
}
}

热点排行