128进行varint和zigzag解码后是多少
时间: 2023-12-29 08:04:52 浏览: 123
对于输入的数值128,先进行varint编码。128的varint编码结果为0x80。将0x80进行解码,首先读取第一个字节,发现最高位是1,说明后面还有字节需要读取,因此需要继续读取。读取第二个字节,发现最高位是0,说明这是最后一个字节,因此读取结束。将两个字节拼接起来,得到原始的数值128。
对于128,进行zigzag编码时,首先将其进行符号位提取,得到0x80。将0x80右移7位,得到0x01,即其绝对值为64。因此,128进行zigzag编码后得到的结果是0x01。
因此,128进行varint和zigzag解码后得到的结果均为0x01。
相关问题
将0x40进行zigzag和varint编码,进行varint和zigzag解码后是多少
对于输入的0x40,进行zigzag编码后得到0x08。将0x08进行varint编码,可以得到0x08的varint编码结果为0x08。
现在对0x08进行varint解码。由于0x08只有一个字节,因此直接将该字节作为解码结果,即解码结果为0x08。
接下来将0x08进行zigzag解码。首先将0x08右移1位,得到0x04。由于0x08的最低位为0,因此原始数值为正数,直接将0x04乘以1,得到解码结果为0x04。
因此,将0x40进行zigzag和varint编码,进行varint和zigzag解码后得到的结果是0x08和0x04。
128进行zigzag和varint解码后是多少
对于输入的数值128,先进行zigzag编码。128的二进制为1000 0000,进行zigzag编码后得到0000 0001。因此,128进行zigzag编码后得到的结果是0x01。
将0x01进行varint解码,首先读取第一个字节,发现最高位是0,因此这个字节就是编码的结果,即0x01。因此,128进行zigzag和varint解码后得到的结果为0x01。
阅读全文