我正在编写一个对标准C ++库具有约束访问权限的平台的代码,我试图通过一个只接受uint8数组的接口来推送一个双打数组。我看到这个堆栈溢出here
显示了将双精度值转换为int数组的方法。这是我的代码。 (请注意,索引1和索引9分别是小数和分隔符。值也始终介于0.0和1.0之间)
void Instrument::ConvertDoubleToUInt8Array(double a_dValue, int *a_dValueArray)
{
a_dValueArray[0] = (int(a_dValue)%10);
a_dValueArray[1] = 10;
a_dValueArray[2] = (int(a_dValue*10)%10);
a_dValueArray[3] = (int(a_dValue*100)%10);
a_dValueArray[4] = (int(a_dValue*1000)%10);
a_dValueArray[5] = (int(a_dValue*10000)%10);
a_dValueArray[6] = (int(a_dValue*100000)%10);
a_dValueArray[7] = (int(a_dValue*1000000)%10);
a_dValueArray[8] = (int(a_dValue*10000000)%10);
a_dValueArray[9] = 11;
}
我的问题是这个代码是否会在big endian和little endian系统上正确运行。我不明白为什么不会,但我在这个领域不是很有经验