Go中的自定义长度位类型?
在Go中,是否可以使用字节uint uint16或任何其他内置类型提供的比特数以外的比特数定义自定义类型 我计划使用“刚好足够的位”来表示变量,并希望使用6位和4位类型。也许是复合布尔类型Go中的自定义长度位类型?,go,types,bit,Go,Types,Bit,在Go中,是否可以使用字节uint uint16或任何其他内置类型提供的比特数以外的比特数定义自定义类型 我计划使用“刚好足够的位”来表示变量,并希望使用6位和4位类型。也许是复合布尔类型 type fourbit struct{ ones bool twos bool fours bool eights bool } 尽管这类事情相当混乱,如果能为n位类型提供一个更通用的解决方案就好了 否。在当前的实现中,包括typebool,Go类型的最小大小为一
type fourbit struct{
ones bool
twos bool
fours bool
eights bool
}
尽管这类事情相当混乱,如果能为n位类型提供一个更通用的解决方案就好了 否。在当前的实现中,包括type
bool
,Go类型的最小大小为一个字节
参考资料:
您可能正在寻找类似的产品;您可以将小值存储为一个字节,但对于存储一个半字节的值不太确定,您可能需要将其取整并放入一个2字节的缓冲区。在大多数编程语言中(在整个Go中使用)更常见的模式是位图,每个字节最多可容纳8个值:,非常有趣,非常酷,感谢您的快速回复。