2012-02-05 158 views
4

如果我在int32中存儲一個整數字段...這將使用比int64更多的空間嗎? 從我所瞭解的情況來看,varint會根據存儲的數字大小調整其大小。谷歌協議緩衝區int32 vs int64

+0

你可以發佈您的協議緩存定義這種情況出現? – gioele 2012-02-05 11:21:33

回答

4

不,這隻會影響生成的代碼。 [s|u]int{32|64}的任何組合使用「varint」編碼,所以尺寸通常與幅度有關,至少在注意到負數之間的差異之後。特別是,負數是使用sint*將大得不成比例(10個字節,IIRC),無論是32或64。