C サーバーから Python クライアントに unsigned int データを送信しようとしています。要件は、負の float 値をクライアントに送信することです。現在、数値は -5.700 で、2 つの問題があります。1)uint32_t内で負を保持する方法についての手がかりがありません。MSBをフラグビットとして使用して回避します。これでいいですか?誰かがより良い提案をしていますか?
2) float 5.700 を uint32_t に型キャストしようとしました。つまり
uint32_t fops = *(uint32_t*)(&float_var) //float_var is 5.700
、fops には値 0x00..40b66666 が割り当てられ、Python クライアントに送信されました。クライアントでこの値からフロートを取得するにはどうすればよいですか?
更新: Mats が提案したように、python struct unpacks -ve は完全にフロートするため、フラグ ビットを使用する必要はありません。