首页 > 解决方案 > 如何在 C++ (Arduino) 中将浮点数组转换为字节数组

问题描述

如何在 Arduino 中将浮点数组转换为字节数组。基本上以有效的方式将数组的所有浮点变量转换为字节(并将所有变量四舍五入为最接近的整数值)。

转换这个:

float mlx90640To[768];

至:

byte bytearray[768];

标签: c++arduino

解决方案


我想我可能不完全理解这个问题。这可能是一个 XY 问题。

但是一个快速有效的解决方案可能如下。

#include <iostream>
#include <cmath>

using byte = unsigned char;

float mlx90640To[768];
byte bytearray[768];

int main() {

    // Convert all float values
    for (size_t i{}; i < 768; ++i)
        bytearray[i] = static_cast<byte>(std::lround(mlx90640To[i]));

    return 0;
}

推荐阅读