更改Julia中的位状态

时间:2015-12-12 17:24:10

标签: julia

在Julia语言中,如何设置,清除和反转单个位?我希望你不会认为这个问题超出范围或太宽泛;如果是这样,请评论它,而不是downvote它。

1 个答案:

答案 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