[問題] 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