double、float等多字节数据处理

一、常规的多字节:

有2,4,8字节

 

float和double是具有自身算法的数据类型,和其他整型不一样【整型数据,可以直接通过移位来进行计算值的大小,float和double不行】

值 = 尾数x 基数^指数

 

二、使用强制转换进行各种转换

 数据之间的转换,通过强制转换可以完成,但是可能会造成精度的丢失

 

三、使用memcpy函数进行内存拷贝

type a;type b;

memcpy(&a,&b,sizeof(a));

 

 

注意:内存拷贝函数只是对内存的拷贝,不会管你是float还是double。

遇到过一个问题:内存是4个字节,是按照float的方式存储的,值是100,然后把这四个字节memcpy到了double中,但是此时值已经变成了其他的数。

结论:如果内存是按照float或者double的计算方式来存储的,那么使用memcpy的时候,不能把内存拷贝到其他数据类型中

posted @ 2018-05-29 14:39  朱小勇  阅读(579)  评论(0编辑  收藏  举报