在Julia语言中,如何设置,清除和反转单个位?我希望你不会认为这个问题超出范围或太宽泛;如果是这样,请评论它,而不是downvote它。
答案 0 :(得分:4)
来自Julia-Lang doc的这一段:
目前,仅支持8位倍数的大小。 因此,布尔值,虽然它们确实只需要一个 bit,不能声明为小于8位。
首先,我们可以看一下变量的二进制表示,如下所示:
julia> bits(Int(10))
"00000000000000000000000000001010"
其次,可以使用二进制形式直接创建字节值:
julia> val=0b100
0x04
julia> typeof(val)
UInt8
最后,更改位值的最佳方法是对其字节值执行正确的二进制操作:
julia> val | 0b10 # set 2nd bit
0x06
julia> bits(ans)
"00000110"
julia> val & 0b11111011 # clear 3nd bit
0x00