Arduino 将浮点数转换为十六进制 IEEE754 单精度 32 位
Arduino convert float to hex IEEE754 Single precision 32-bit
我想在 Arduino 的以下站点中将浮点值转换为 IEEE754 单精度 32 位十六进制值。
https://www.binaryconvert.com/result_float.html?decimal=051046049048
float f = 3.10;
byte hex[4] = {0};
byte FloatToHex(float f){
.......
}
如何创建这样的函数?
格式不一样也没关系
f
已经以二进制形式存储。 reinterpret_cast
一般是代码味道问题,但它的有效用途是查看变量的字节表示。
void FloatToHex(float f, byte* hex){
byte* f_byte = reinterpret_cast<byte*>(&f);
memcpy(hex, f_byte, 4);
}
void setup() {
float f = 3.10;
byte hex[4] = {0};
FloatToHex(f, hex);
//... do stuff with hex now...
}
void loop() {
}
我想在 Arduino 的以下站点中将浮点值转换为 IEEE754 单精度 32 位十六进制值。 https://www.binaryconvert.com/result_float.html?decimal=051046049048
float f = 3.10;
byte hex[4] = {0};
byte FloatToHex(float f){
.......
}
如何创建这样的函数? 格式不一样也没关系
f
已经以二进制形式存储。 reinterpret_cast
一般是代码味道问题,但它的有效用途是查看变量的字节表示。
void FloatToHex(float f, byte* hex){
byte* f_byte = reinterpret_cast<byte*>(&f);
memcpy(hex, f_byte, 4);
}
void setup() {
float f = 3.10;
byte hex[4] = {0};
FloatToHex(f, hex);
//... do stuff with hex now...
}
void loop() {
}