第13章位运算 位运算功能是C语言的一大特色功能。 所谓位运算是指针对数据中的二进制位进 行的运算。 只能对整型、字符型数据进行位运算。 C语言中有6种基本位运算符
第13章 位运算 位运算功能是C语言的一大特色功能。 所谓位运算是指针对数据中的二进制位进 行的运算。 只能对整型、字符型数据进行位运算。 C语言中有6种基本位运算符
按位取反运算符 进行按位取反运算时,若运算位为0,则结果位 为1;若运算位为1时,则结果位为0。 例如: short int a=15,b=~a; b的结果为65520 因为~0000000000001111B =1111111111110000B
按位取反运算符 进行按位取反运算时,若运算位为0,则结果位 为1;若运算位为1时,则结果位为0。 例如: short int a=15,b=~a; b的结果为65520 因为~00000000 00001111B =11111111 11110000B
按位与运算符 进行按位与运算时,只有相运算的两位均为1时, 结果位才为1。 例如: short int a=3,b-5,c=a&b; c的结果为1 因为0000000000000011B &0000000000000101B 0000000000000001B
按位与运算符 进行按位与运算时,只有相运算的两位均为1时, 结果位才为1。 例如: short int a=3,b=5,c=a&b; c的结果为1 因为 00000000 00000011B & 00000000 00000101B - = 00000000 00000001B
按位或运算符 进行按位或运算时,只有相运算的两位均为0时, 结果位才为0。 例如: short int a=3,b=5,c=ab; c的结果为7 因为0000000000000011B L0000000000000101B 0000000000000111B
按位或运算符 进行按位或运算时,只有相运算的两位均为0时, 结果位才为0。 例如: short int a=3,b=5,c=a|b; c的结果为7 因为 00000000 00000011B | 00000000 00000101B - = 00000000 00000111B
按位异或运算符 进行按位异或运算时,若相运算的两位相异,则 结果位为1;若相运算的两位相同,则结果位 为0。 例如: short int a=15,b=10,c=ab; c的结果为5。 因为0000000000001111B ^0000000000001010B =0000000000000101B
按位异或运算符 进行按位异或运算时,若相运算的两位相异,则 结果位为1;若相运算的两位相同,则结果位 为0。 例如: short int a=15,b=10,c=a^b; c的结果为5。 因为00000000 00001111B ^00000000 00001010B =00000000 00000101B