[问题] bitset 大小转换

楼主: soniccol (@_@)   2016-05-12 23:27:02
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC 5.2 Centos6.5
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
bitset
问题(Question):
bitset<1600> 前64bit的资料转到 bitset<64>里面,
在里面做XOR计算之后,把bitset<64>的资料写回bitset<1600>前64个bit。
程式码(Code):(请善用置底文网页, 记得排版)
bitset<1600> stateVar;
bitset<64> temp;
bitset<64> singleRC;
for(int i=0;i<64;i++){
temp[i]=stateVar[i];
}
temp ^= singleRC;
for(int i=0;i<64;i++){
stateVar[i]=temp[i];
}
补充说明(Supplement):
想问cpp bitset 大小转换的问题,我有一个1600长度的stateVar,我想把stateVar的前
64个bit的binary值放到一个64长度的temp里面,
然后temp跟一个64bit长度的singleRC做xor,写回temp。
之后temp再把64bit的值写回stateVar的前64位里面。
下面的写法是不是有问题?
作者: Caesar08 (Caesar)   2016-05-13 00:18:00
有什么问题?
楼主: soniccol (@_@)   2016-05-13 13:14:00
解掉了,后来才注意到bitset reference没有^=的operator改用直接res[i]=res[i] ^ singleRC[i];就没事

Links booklink

Contact Us: admin [ a t ] ucptt.com