
怎样把二进制小数转十进制?将(10.10111)2转化为十进制咋转化?
2个回答
展开全部
您是问原理?还是想要处理程序?
如果是问算法原理,那么以(10.10111)2为例,转换算法就是
1*2^1 + 0*2^0 + 1*1/2 + 0*1/(2^2) + 1*1/(2^3) + 1*1/(2^4) + 1*1/(2^5) = 2.71875
如果是想要处理程序,那么:
【一】如果您输入的是整数,可以看一下下面的资料:
http://zhidao.baidu.com/question/337382689.html?an=0&si=2
这个资料中给出的程序,可以将输入的二进制整数转换成unsigned long型整数的计算机内部值,于是,只要采用普通的普通的输出语句如printf("%lu…………),就可以把它按十进制输出。同时,这个资料中也给出了按二进制输出的程序。
【二】如果您输入的是带小数的,或虽不带小数,但希望转换成浮点形式的内部值,可以看一下下面的资料:
http://zhidao.baidu.com/question/333313559.html?an=0&si=10
这个资料中给出的程序,可以将输入的二进制整数转换成double型的计算机内部值,于是,只要采用普通的普通的输出语句如printf("%lf…………),就可以把它按十进制输出。
如果是问算法原理,那么以(10.10111)2为例,转换算法就是
1*2^1 + 0*2^0 + 1*1/2 + 0*1/(2^2) + 1*1/(2^3) + 1*1/(2^4) + 1*1/(2^5) = 2.71875
如果是想要处理程序,那么:
【一】如果您输入的是整数,可以看一下下面的资料:
http://zhidao.baidu.com/question/337382689.html?an=0&si=2
这个资料中给出的程序,可以将输入的二进制整数转换成unsigned long型整数的计算机内部值,于是,只要采用普通的普通的输出语句如printf("%lu…………),就可以把它按十进制输出。同时,这个资料中也给出了按二进制输出的程序。
【二】如果您输入的是带小数的,或虽不带小数,但希望转换成浮点形式的内部值,可以看一下下面的资料:
http://zhidao.baidu.com/question/333313559.html?an=0&si=10
这个资料中给出的程序,可以将输入的二进制整数转换成double型的计算机内部值,于是,只要采用普通的普通的输出语句如printf("%lf…………),就可以把它按十进制输出。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询