6 Star 19 Fork 29

王布衣 / gotdx

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
varints.go 799 Bytes
一键复制 编辑 原始数据 按行查看 历史
王布衣 提交于 2023-05-07 06:58 . 调整目录结构
package internal
// DecodeVarint pytdx : 类似utf-8的编码方式保存有符号数字
func DecodeVarint(b []byte, pos *int) int {
//0x7f与常量做与运算实质是保留常量(转换为二进制形式)的后7位数,既取值区间为[0,127]
//0x3f与常量做与运算实质是保留常量(转换为二进制形式)的后6位数,既取值区间为[0,63]
//
//0x80 1000 0000
//0x7f 0111 1111
//0x40 100 0000
//0x3f 011 1111
posByte := 6
bData := b[*pos]
data := int(bData & 0x3f)
bSign := false
if (bData & 0x40) > 0 {
bSign = true
}
if (bData & 0x80) > 0 {
for {
*pos += 1
bData = b[*pos]
data += (int(bData&0x7f) << posByte)
posByte += 7
if (bData & 0x80) <= 0 {
break
}
}
}
*pos++
if bSign {
data = -data
}
return data
}
Go
1
https://gitee.com/quant1x/gotdx.git
git@gitee.com:quant1x/gotdx.git
quant1x
gotdx
gotdx
v1.22.6

搜索帮助