Re: c語言的問題

看板Programming作者 (Alien)時間18年前 (2007/05/17 12:59), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/6 (看更多)
※ 引述《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
文章代碼(AID): #16I-4LAT (Programming)
文章代碼(AID): #16I-4LAT (Programming)