Re: c語言的問題
※ 引述《GOLDMEMBER.bbs@bbs.cs.nctu.edu.tw (㊣阿多巴可安德爾 XD)》之銘言:
: ※ 引述《shackles@kkcity.com.tw (隨風而逝)》之銘言:
: > 我想將一個unsigned整數位元反轉,但是程式已經寫好一個副函式了,
: > 如果我想將位元順序反轉輸出,得用到指標嗎?
: 不用吧
: main()
: {
: unsigned int mask = 1 << 31, n = 74111608;
: int i;
: for (i = 0; i < 32; i++) {
: printf("%d", (n & mask) ? 1 : 0);
: mask >>= 1;
: }
: return 0;
: }
: 以上是正常順序的輸出,MSB在左,LSB在右
: 你把他改一下就可以反轉了
只是印可能可以更簡單
unsinged int n = 98765;
for (i = 0; i < sizeof(unsigned int) * 8; ++i) {
printf("%d", (n >> i) & 1);
}
這該就夠了吧?
alien
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.22.246.26
討論串 (同標題文章)