Re: [問題] for loop依二進位count

看板C_and_CPP (C/C++)作者 (pziyout)時間9年前 (2017/03/01 12:54), 編輯推噓3(301)
留言4則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《ozone (道別,下段旅程。)》之銘言: : 兩個int陣列array1, array2, 長度皆為8, 想在每個位置從其中一個array取出值 : 組成新的array同樣長度也是8, 共2^8=256種組合, 不知有什麼比較有效率的方法? : 我只會用for loop, int i=0;i<256;i++, 將i轉成2進位字串 : 再對照此字串的8個字元位置是0或1 個別選擇array1或array2組成新的array... : 感覺繞了好大一圈...不曉得有什麼簡潔的方法完成這個操作? 感謝 不要轉為二進位字串,直接取值如下,事實上,還滿簡潔的: const int N = 8 ; int i , j ; int a[N] = {11,12,13,14,15,16,17,18}; int b[N] = {21,22,23,24,25,26,27,28}; int c[N] ; for ( i = 0 ; i < 256 ; ++i ) { cout << i+1 << " : " ; for ( j = 0 ; j < N ; ++j ) { c[j] = ( i&(1<<j) ? a[j] : b[j] ) ; cout << c[j] << " " ; } cout << endl ; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.25.29 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1488344097.A.155.html

03/01 13:30, , 1F
我不了解這種二進位處理方式 有什麼關鍵字可以讓我搜尋學
03/01 13:30, 1F

03/01 13:30, , 2F
習的嗎 感謝!
03/01 13:30, 2F

03/01 13:45, , 3F
查 & 符號 和 << 符號的意義
03/01 13:45, 3F

03/01 13:49, , 4F
bitwise operation, thanks
03/01 13:49, 4F
文章代碼(AID): #1OjbGX5L (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1OjbGX5L (C_and_CPP)