c++ 中 bitset 与 unsigned char 数组 转化,编译已通过

C++中bitset与unsigned char数组转换
本文介绍如何在C++中将bitset对象转换为unsigned char数组,以及从unsigned char数组还原bitset。提供了两个函数BitsfromByteArray和BitstoByteArray,分别用于这两个转换操作。
部署运行你感兴趣的模型镜像
std::bitset<16> BitsfromByteArray(const unsigned char *bytes,int len)
{
std::bitset<16> bits ;//= std::bitset<16>();
for (int i=0; i<len*8; i++) 
{
if ((bytes[i/8]&(1<<(7-i%8))) > 0) 
{
bits.set(i);
}
}
return bits;
}


unsigned char* BitstoByteArray(std::bitset<16> &bits)
{
assert(bits.size()%8 == 0);
int len=bits.size()/8;
unsigned char *bytes = new unsigned char[len];
for (unsigned j=0;j<len;++j)
{
bytes[j]=0;
}
for (int i=0; i<bits.size(); i++) 
{
if (bits.test(i)) 
{
bytes[i/8] |= 1<<(7-i%8);
}
}
return bytes;
}

您可能感兴趣的与本文相关的镜像

PyTorch 2.6

PyTorch 2.6

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值