Arrays 将UInt64数组转换为位向量
我最近发现,我可以使用Arrays 将UInt64数组转换为位向量,arrays,julia,bitset,Arrays,Julia,Bitset,我最近发现,我可以使用块为位向量获取UInt64的“后备数组”。然而,我想反其道而行之——给定一个一维数组UInt64,使用一些函数foo构造一个位向量 foo(x.chunks)==x 这样的功能存在吗?需要工作吗 函数foo(v::Vector{UInt64}) siz=sizeof(v) bv=falses(siz是否需要工作 函数foo(v::Vector{UInt64}) siz=sizeof(v) bv=falses(siz)这里是否需要使用falses而不仅仅是使用BitArray
块
为位向量
获取UInt64
的“后备数组”。然而,我想反其道而行之——给定一个一维数组UInt64
,使用一些函数foo
构造一个位向量
foo(x.chunks)==x
这样的功能存在吗?需要工作吗
函数foo(v::Vector{UInt64})
siz=sizeof(v)
bv=falses(siz是否需要工作
函数foo(v::Vector{UInt64})
siz=sizeof(v)
bv=falses(siz)这里是否需要使用falses
而不仅仅是使用BitArray(siz@KozRoss你是对的,应该是siz)这里是否需要使用falses
而不仅仅是使用BitArray(siz@KozRoss你是对的,应该是siz
function foo(v::Vector{UInt64})
siz = sizeof(v)
bv = falses(siz << 6)
unsafe_copy!(reinterpret(Ptr{UInt64}, pointer(bv.chunks)), pointer(v), siz)
bv
end