Re: [問題] 如何取用二位元陣列的每一種狀況
※ 引述《tititata ()》之銘言:
: 假設有一個陣列 u[7] = {0}; 陣列中每一個元素只能是 0 或 1
: 請問要怎麼寫,才能夠把從 [0 0 0 0 0 0 0 ] 到 [1 1 1 1 1 1 1]
: 每一種狀況都拿來用呢?
: 我只有想到用 7 個 for 的方法... ^^;
: 謝謝~~
#include<stdio.h>
int main()
{
int u[7]={0};
int Ubound=1<<7;
int i,j;
for(i=0;i<Ubound;i++){
for(j=0;j<7;j++)
u[j]=(i&(1<<j))?1:0;
for(j=0;j<7;j++)
printf("%d,",u[j]);
puts("");
}
return 0;
}
用0跑到127應該是長這樣(二進位)
0000000
0000001
0000010
0000011
...
1111110
1111111
然後用1<<j(也就是2的j次方)去偵測是否這個位元為0或1
不過出來的結果是反過來的.....
0000000
1000000
0100000
...
這個就自己調整吧...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.57.82
→
61.230.57.82 09/13, , 1F
61.230.57.82 09/13, 1F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章