1

unsignedintをエンコードできるようにするためにc++に変換する必要があるJavaの次のコードがあります。

public static int enc_uint32be( int i, byte[] dst, int di ) {
        dst[di++] = (byte)((i >> 24) & 0xFF);
        dst[di++] = (byte)((i >> 16) & 0xFF);
        dst[di++] = (byte)((i >> 8) & 0xFF);
        dst[di] = (byte)(i & 0xFF);
        return 4;
}

私はJavaの初心者です。私はこのフォーラムの何人かの専門家が両方の言語を知っていると信じています-誰かが翻訳を手伝ってくれるでしょうか。

4

2 に答える 2

3

使用する予定のデータ型によって異なりますが、変更するだけの場合は次のようになります。

 byte[] dst

unsigned char dst[]

関数宣言では、同じように動作する必要があります(そして、関数のバイト使用量もに変更しますunsigned char)。

于 2012-05-31T00:00:38.663 に答える
1

実際、JavaのコードはC ++でもほとんど同じですが、少し変更が加えられています。

  • バイトはC++では有効な型ではなく、同等のものはunsignedcharです。
  • @MarkWilkinsが述べたように、配列パラメータタイプを作り直す必要があります。
于 2012-05-31T00:03:46.833 に答える