バイトHEX文字列を数値に変換する
sigfoxにデータを送信する際に、floatデータならそのまま4byteデータとして送信するが、これの復元で調べまくった。
25.9964371は、41cff8b4 と表現される。これは、c言語で共用体を使えばそれほど難しくない。
union {
unsigned long longDeg;
float floatDeg;
} temp32;
floatデータとして変数に格納すればlong整数で取り出せ、その逆も然り。このデータをmatlabで復元したいが、matlabは標準でdoubleになっていて、単精度浮動小数だとうまくいかない
hex2num('41cff8b4') は、1.072785408000000e+09 と算出されてしまう。41cff8b4を倍精度に変えてしまえば良い。ここに変換サイトがある。