C语言中 x & -x

来源:学生作业帮助网 编辑:六六作业网 时间:2024/05/24 01:12:54
C语言中x&-xC语言中x&-xC语言中x&-x应该是取出x中最低为1的那一位,例如2:二进制为00000010,最低为1的那一位是第2位,所以取出后为000000103:二进制为00000011,最

C语言中 x & -x
C语言中 x & -x

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