double, int and other types of data conversion, transmission, exemplary reduced

double, int and other types of data conversion, transmission, exemplary reduced

#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;
}

operation result:

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

Guess you like

Origin www.cnblogs.com/Baron-Lu/p/11806831.html