2017-12-26 6 views
-5

を用いて読み取ります。ここで私は浮動小数点4文字の値に浮かびます。しかし、私はそれと同等のJavaコードを再度サーバーの最後に浮動小数点値を取得する必要があります。チャーにfloat値を破壊し、TCP上で送信し、Iは、TCP/IPを使用して浮動小数点データ形式のマイクロコントローラを変換して送信するため、このCコードを使用してJavaプログラム

私は、Java用の新しいです。だから助けてください。

/********************************************* ***********************************/

unsigned char outbox[5]; 

void breakDown(void) 
{ 
    int index=0; 
    float member=-600.231;  

    unsigned long d = *(unsigned long *)&member; 
    outbox[0] = d & 0x00FF; 
    outbox[1] = (d & 0xFF00) >> 8; 
    outbox[2] = (d & 0xFF0000) >> 16; 
    outbox[3] = (d & 0xFF000000) >> 24; 

    } 


    void buildUp(void) 
    { 
    unsigned long d; 
    unsigned index; 

    d = ((long)outbox[3] << 24); 
    d|= ((long)outbox[2] << 16); 
    d|= ((long)outbox[1] << 8); 
    d|= ((long)outbox[0]); 

    float member = *(float *)&d; 
    printf("Float output=%f\n\n",member); 

    } 
+7

Stack Overflowは無料のコード変換サービスではないため、この質問をトピックとしてクローズすることにしました。参照してください:[「?誰かが私を助けることができる」?なぜされていない実際の質問](http://meta.stackoverflow.com/q/284236) – EJoshuaS

答えて

0

java.io.DataInputStream.readFloat ()java.lang.Float.intBitsToFloat(INTビット)を呼び出している、あなたはそれをしようとします。 (最初のAPIドキュメントを読んで)

0

は、なぜあなたは別のセグメントに変数を分割しようとしていますか?単に文字列として送信し、JAVA関数を使用して変数をfloat変数に変換します。

String numberAsString = "153.25"; 
float number = Float.parseFloat(numberAsString); 
関連する問題