第12章位运算 位运算功能是C语言的一大特色功能。 所谓位运算是指针对数据中的二进制位进行的 运算
第12章 位运算 位运算功能是C语言的一大特色功能。 所谓位运算是指针对数据中的二进制位进行的 运算
12.1位运算符和位运算 C语言中有6种基本位运算符。 一、按位与运算符& short int a=3,b=5,c=a&b; 则c的结果为1。 因为0000000000000011B &0000000000000101B =0000000000000001B
12.1 位运算符和位运算 C语言中有6种基本位运算符。 一、按位与运算符& 如 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=alb; 则c的结果为7。 因为0000000000000011B |0000000000000101B =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
四、按位取反运算符~ 进行按位取反运算时,若运算位为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