【发布时间】:2011-11-23 23:23:55
【问题描述】:
我可以将指向双精度的指针转换为char * 类型,然后使用该指针将双精度分成字节吗?
下面是示例代码:
double data;
double *dblPoint = &data;
unsigned char *bytePoint = (unsigned char *)dblPoint;
unsigned char byteArray[sizeof (double)];
unsigned int i;
for(i = 0; i < sizeof(double); i++) {
byteArray[i] = *(bytePoint + i);
}
byteArray 然后通过 UART 传输到另一台计算机并重建(bytesReceived 包含传入数据):
unsigned char bytesReceived[sizeof (double)];
double reconstData;
double *newDblPoint;
unsigned int i;
newDblPoint = bytesReceived;
reconstData = *dblPoint;
那么,毕竟,data == reconstData?
【问题讨论】: