咨询白癫疯 https://m.39.net/pf/bdfyy/bdfyw/ ①自加自减运算 重点在区分表达式的值和变量的值。 ~ 1.自加运算 ++在前,先变量+1,再表达式。 ++在后,先表达式,再变量+1。 i=5 ++i…i=6,++i=i=6。 i++…i++=i=5,i=6。 即i++的表达式不+1。 ~ 2.自减运算 --在前,先变量-1,再表达式。 --在后,先表达式,再变量-1。 i=5 --i…i=4,++i=i=4。 i--…i++=i=5,i=4。 即i--的表达式不-1。 ~ ②位运算 针对二进制的运算。 ~ 3.按位与(a&b) 相同位都为1则为1。 已知 =9 =5 求出 =1 ~ 4.按位或(a/b) 相同位只要有一个为1就为1。 已知 =9 =5 求出 =13 ~ 5.按位异或(a^b) 相同位不同时为1,相同时为0。 已知 =9 =5 求出 =12 ~ 6.左移(ab) 已知 =9 求出 =18 ~ 7.右移(ab) 已知 =9 求出 =4 ~ 8.按位取反(~a) 1变0,0变1 已知 =9 求出 = 注意:C语言中首位为1表示负数,此处只是二进制的结果,C语言结果见下。 ~ ③取反运算a=-(a+1) 9.正数取反 原码=9 补码(正数补码反码不变,9的储存) 取反 反码(补码-1,9取反) 原码=-10(负数以补码形式储存) ~ 10.负数取反 原码=-9 反码(负数取反符号位不变) 补码(反码+1,-9的储存) 取反=8(-9取反) 原码=8(正数补码储存不变) 转载请注明原文网址:http://www.helimiaopu.com/cxkf/cxkf/13286.html |