Google Protobuf 数据类型区别

这里说下int32 , sint32 , fixed32 区别直接上测试数据

int32 :

正数时:
1、不传值即默认值0个字节
2、1~127是1个字节
3、128~16383 是2个字节
3、16384~2097151是3个字节
5、2097152~268435455是4个字节
6、268435456~2147483647是5个字节

负数时:
1、只要是负数就占10个字节

sint32 :

正数时:
1、不传值即默认值0个字节
2、1~63是1个字节
3、64~8191是2个字节
4、8192~1048575是3个字节
5、1048576~134217727是4个字节
6、134217728~2147483647是5个字节

负数时:

1、-1~-64是1个字节
3、-65~-8192是2个字节
4、-8193~-1048576是3个字节
5、-1048577~-134217728是4个字节
6、-134217729~-2147483648是5个字节

fixed32

只能是正数
1、不传值即默认值0个字节
2、其它值都是占4个字节

 

总结:

1、当数值有负值时使用sint

2、数值没有负数且数据大于134217727使用fixed32

3、数值没有负数且数据小于134217727使用int32

int64类似

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一零壹0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值