gpt4 book ai didi

swift - 创建二进制 header

转载 作者:行者123 更新时间:2023-11-28 13:52:35 25 4
gpt4 key购买 nike

我必须在 16 位上编码两个信息:Id 和长度。

我会更详细地解释。

例子:

let id: UInt16 = 4 // 0000 0000 0000 0100
let length: UInt8 = 2 // 0000 0010

我想在这个表格上编码。

(Id=0000 0000 0001 00)(Length=10) // 0000 0000 0001 0010

我做了一点改变

let header: UInt16 = id << 2 // 0000 0000 0001 0000

所以现在我无法添加长度的两位。

感谢阅读

最佳答案

如果您确定 id 永远不会超过 0b0011_1111_1111_1111 并且 length 最多为 0b0000_0011 然后你可以这样编码标题:

let header: UInt16 = (id << 2) + UInt16(length)

你可以这样检查结果:

let leadingZeros = String(repeating: "0", count: header.leadingZeroBitCount)
print(leadingZeros + String(header, radix: 2)) //0000000000010010

关于swift - 创建二进制 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54372399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com