二进制转换为十进制浮点 一个数组里存放的二进制数据,00 80 60 43,怎么样把它转换为十进制浮点表示,转换后的数据应该是224.50,怎么写代码呀? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给个C代码你参考下//二进制转换为十进制#include <stdio.h> #include <math.h> main() { int i,k,sum=0,a[16]; printf("please input n="); for (i=0;i<16;i++){scanf("%d",&a[i]);} for (i=15;i>=0;i--){k=a[i]*pow(2,15-i);sum=sum+k;} printf("%d",sum);getch(); } 你转 总得有个标准吧,看你的这个结果是按照IEEE754的标准 转换的你上面的数字00 80 60 43 应该是底层数据传输传过来的,是按照 先低字符 然后高字符 ,低字节 高字节排序的所以 正常的表示 应该是 0x43608000这个 32位的16进制(IEEE754单精度浮点是32位 双精度的是62位)然后 调用Float.intBitsToFloat(0x043608000)=224.5这个方法是 float 根据 IEEE 754 转换为十进制的还有个方法Float.floatToRawIntBits是转成对应 的IEEE754的形式也就是43608000 Java编写界面 求打包 很简单的排序算法题,就是看不出哪错了 关于一个简单的聊天程序大家看看运行下帮着改下谢谢. 小弟刚学java,遇见一个初级题目.请大家指点下 大家帮我看看我的简历,不知道写的是否有问题. 过年关喽!今年你挣了多少? 请大家讨论一个Sting类的valueOf函数的作用 awt包的问题 关于jdk中文版的一点想法 JAVA改变图片尺寸 HttpURLConnection怎么在上传文件的同时把文件的信息也提交到服务器?
//二进制转换为十进制
#include <stdio.h>
#include <math.h>
main()
{
int i,k,sum=0,a[16];
printf("please input n=");
for (i=0;i<16;i++)
{scanf("%d",&a[i]);
}
for (i=15;i>=0;i--)
{
k=a[i]*pow(2,15-i);
sum=sum+k;
}
printf("%d",sum);
getch(); }