C语言中 x & -x

来源:学生作业学帮网 编辑:学帮网 时间:2024/05/15 04:18:29

C语言中 x & -x

应该是取出x中最低为1的那一位,例如
2:二进制为0000 0010,最低为1的那一位是第2位,所以取出后为0000 0010
3:二进制为0000 0011,最低为1的那一位是第1位,所以取出后为0000 0001
6:二进制为0000 0110,最低为1的那一位是第2位,所以取出后为0000 0010
31:二进制为0001 1111,最低为1的那一位是第1位,所以取出后为0000 0001
32:二进制为0010 0000,最低为1的那一位是第6位,所以取出后为0010 0000