Protocol buffers 协议缓冲区负int32/int64编码器';s的规格是模糊的
在协议缓冲区的编码器规范中,据说: 如果使用int32或int64作为负数的类型,则结果变量的长度始终为10字节–实际上,它被视为非常大的无符号整数 好的,看起来不错,但是使用10字节长的变量,可以存储一个70位长的整数,类型是64位。因此,有6位未使用。。。这些位应该设置为1还是0 总之,对于int32/64,是否应将Protocol buffers 协议缓冲区负int32/int64编码器';s的规格是模糊的,protocol-buffers,Protocol Buffers,在协议缓冲区的编码器规范中,据说: 如果使用int32或int64作为负数的类型,则结果变量的长度始终为10字节–实际上,它被视为非常大的无符号整数 好的,看起来不错,但是使用10字节长的变量,可以存储一个70位长的整数,类型是64位。因此,有6位未使用。。。这些位应该设置为1还是0 总之,对于int32/64,是否应将-1编码为 FF FF FF FF FF FF 7F 或 FF FF FF FF 01 ?位64及以上应为零。因此,在C++中,您将通过将它转换为UIT64来编码一个It64,然
-1
编码为
FF FF FF FF FF FF 7F
或
FF FF FF FF 01
?位64及以上应为零。因此,在C++中,您将通过将它转换为UIT64来编码一个It64,然后像任何其他无符号整数一样编码它(这实际上是原BuffC++ C++库所做的)。请记住,