putchar('0'+((unsigned)(x&(1<<(n-1)))>>(n-1))); /*输出第N位*/
来源:百度知道 编辑:UC知道 时间:2024/09/21 13:52:17
这条语句是输出十进制x的第N位
但是是怎么样输出的呢,希望能具体讲讲
谢谢了
但是是怎么样输出的呢,希望能具体讲讲
谢谢了
应该是输出二进制x的第n位
换一种形式写出来
int t=1<<(n-1);//把1左移到n位上,比如n=3,t=100(二进制)
t=x&t;//进行位与操作,就是提取x的第n位
t>>(n-1)//把x第n位右移到最右边
putchar('0'+t);//输出t