MODBUS RTU 浮点算法 算法如下:
http://zhidao.baidu.com/question/208808310.html目前在将二进制转换成十进制时遇到困难。就是把2进制的111010110011000000000转换成十进制的111010110011000000000
本来想把2进制的数先转成cstring 在转成十进制。但是cstring的format没有二进制的%格式。
请问有什么好的思路吗?有直接现成的MODBUS RTU 浮点算法也可以。感觉比较复杂,最后还要将转完的数据在转一次。。
http://zhidao.baidu.com/question/208808310.html目前在将二进制转换成十进制时遇到困难。就是把2进制的111010110011000000000转换成十进制的111010110011000000000
本来想把2进制的数先转成cstring 在转成十进制。但是cstring的format没有二进制的%格式。
请问有什么好的思路吗?有直接现成的MODBUS RTU 浮点算法也可以。感觉比较复杂,最后还要将转完的数据在转一次。。
你要做printf?
#include <iostream>
#include <bitset>
using namespace std;int _tmain(int argc, _TCHAR* argv[])
{
int a = 4;
bitset<32> b(a); int i = atoi(b.to_string().c_str());
cout<<i<<endl; return 0;
}
for(int i=0;i<10;i++)
buf[i]=(s>>(9-i))&1+0x30;int r=atoi(buf); //结果1
int r;
sscanf(buf,"%d",&r); //结果2