为何protobuf对变长有符号整数不直接使用字节链表来表示而是先zigzag处理?
因为要写入或者提取题主给出的方法2的符号位,是一件相对麻烦(更多步骤,在编程的意义上和CPU指令的意义上)的事情。相对于Google文档里的ZigZag方法而言。一般做编码的指导思想是,尽量整体处理每个byte,而不是区别对待每个bit。protobuf这种1+7bits结构,已经是为了大小牺牲速度了。手机码字,先上结论,回去有空的话再展开。
■网友
因为zigzag和native的整形转换只有3次位运算而你说的这种不行
推荐阅读
- #补贴#江阴为何迟迟没执行?|解忧帮 无锡:机动车报废有补贴
- OC为何跌出语言榜前十
- 何能|布局素质教育 教育巨头为何能迅速推进?
- 汽车|把车越卖越贵,全新领克01为何可以这样?
- 阿里程序员网上招人的情况为何如此多见
- 心流西春|为何你的后半箱油总是不耐用?油是正经油,问题可能出在这里
- 一粒尘埃的尘|为何很多新车不再设计“雾灯”,雾灯不重要吗?
- 环球车讯网|宝马MINI 为何在“迷你”的路上越跑越远?
- 汽车一起看|为何说国产高端SUV三强之首是名爵HS,领克和WEY竟无法反驳?
- 汽车知识|沃尔沃XC60为何能直击年轻人的心?看完便知