作者adrianshum (Alien)
看板Programming
标题Re: c语言的问题
时间Thu May 17 12:59:00 2007
※ 引述《[email protected] (㊣阿多巴可安德尔 XD)》之铭言:
: ※ 引述《[email protected] (随风而逝)》之铭言:
: > 我想将一个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