私はこの変数を持っています
unsigned long long latitude = 29.47667;
この値をこのような配列に変換すると
ar[7] = (uint8_t)((latitude >> 56) & 0xFF);
ar[6] = (uint8_t)((latitude >> 48) & 0xFF);
ar[5] = (uint8_t)((latitude >> 40) & 0xFF);
ar[4] = (uint8_t)((latitude >> 32) & 0xFF);
ar[3] = (uint8_t)((latitude >> 24) & 0xFF);
ar[2] = (uint8_t)((latitude >> 16) & 0xFF);
ar[1] = (uint8_t)((latitude >> 8) & 0xFF);
ar[0] = (uint8_t)(latitude & 0xFF);
次に、tcp ソケットを使用してサーバーに送信します。送信時に値を 16 進数で出力すると、0x1d
残りはすべてゼロになります。
unsigned long long を int に変換しながら正確な値をサーバーに送信する方法。