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