c中 怎么判断一个十进制数x 的二进制的第i位是否为1,给个判断表达式就可以了,谢了 用位运算

我的热情烧开了水 1年前 已收到1个回答 举报

戴面纱的男人 春芽

共回答了17个问题采纳率:82.4% 举报

可以先将x右移i(i从0开始,即最低位的序号表示为0)位后将值赋给a,如果x的内存存储长度为一个字节的话,a&0x01得到的就是x的第i位,如果是1的话x的第i位就是1.如果x的内存存储长度为两个字节的话,那么用a&0x0001.
当然也可以不用位运算,直接对a模2,就可以直接得到结果了.

1年前

3
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.023 s. - webmaster@yulucn.com