double,int等数据类型转换,传输,还原的示例

double,int等数据类型转换,传输,还原的示例

#include <iostream>
using namespace std;
int main()
{
    double d1,d2,d3,d4;
    int i1,i2,i3,i4;
    unsigned char buf1[4]={0};
    unsigned char buf2[4]={0};
    d1=200000.3334;
    d2=-200000.3334;
    d3=d1*1000;d4=d2*1000;
    
    i1=(int)d3;
    i2=(int)d4;
    buf1[0]=i1>>24;
    buf1[1]=i1>>16;
    buf1[2]=i1>>8;
    buf1[3]=i1;
        buf2[0]=i2>>24;
    buf2[1]=i2>>16;
    buf2[2]=i2>>8;
    buf2[3]=i2;
    
    i3=buf1[0]<<24|buf1[1]<<16|buf1[2]<<8|buf1[3];
    i4=buf2[0]<<24|buf2[1]<<16|buf2[2]<<8|buf2[3];
    
    d3=(double)i3/1000;
    d4=(double)i4/1000;
    cout.precision(10); // 设置输出精度
        cout << "tranform test:" << endl;
    cout<<"d1:"<< d1 << endl;
    cout<<"d2:"<< d2 << endl;
    cout<<"i1:"<< i1 << endl;
    cout<<"i2:"<< i2 << endl;
    cout<<"i3:"<< i3 << endl;
    cout<<"i4:"<< i4 << endl;
    cout<<"d3:"<< d3 << endl;
    cout<<"d4:"<< d4 << endl;
    
    return 0;
}

运行结果:

tranform test:
d1:200000.3334
d2:-200000.3334
i1:200000333
i2:-200000333
i3:200000333
i4:-200000333
d3:200000.333
d4:-200000.333

上一篇:P1004方格取数


下一篇:python全栈闯关--6-小知识点总结