编码unsigned int

时间:2012-05-30 23:55:39

标签: java c++

我在java中有以下代码,我需要转换为c ++才能编码unsigned int。

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的新手。我相信这个论坛上的几位专家都知道这两种语言 - 有人可以帮我翻译。

2 个答案:

答案 0 :(得分:3)

这取决于您计划使用的数据类型,但如果您只是更改:

 byte[] dst

unsigned char dst[]

在函数声明中,它的行为应该相同(并将函数中的字节用法也改为unsigned char)。

答案 1 :(得分:1)

实际上,Java中的代码在C ++中几乎相同,只有很少的修改:

  • byte在C ++中不是有效类型,等效于unsigned char
  • 必须在提及@MarkWilkins时重新编写数组参数类型。