执行以下程序段后,变量k的值为( ). int a=0x3, b=0x2, k; k=(a^b)<<2;
int a=0x3, b=0x2, k;
k=(a^b)<<2;
16进制0x3怎么换十进制?
K为192 展开
0x表说16进制,0x3就是16进制的3,转换为十进制还是3。
k = (3^2)<<2 = 1<<2 = 4
int a=1,b=2,c=3,k;
k=a+++b+++c++;
相当于k=(a++)+(b++)+(c++),相当于k=a+b+c; a++; b++; c++;先使用原来的值运算,然后自增
若是k=++a+++b+++c;那么相当于a=a+1;b=b+1;c=c+1;k=a+b+c;变量先自增,然后运算。这是a++与++a的区别,与编译器有关,感兴趣的话可以继续深入学习。
扩展资料:
定义和使用变量时,通常要把变量名定义为容易使用阅读和能够描述所含数据用处的名称,而不要使用一些难懂的缩写如A或B2等。例如:假定正在为水果铺编一个销售苹果的软件。需要两个变量来存储苹果的价格和销量。此时,可以定义两个名为Apple_Price和Apple_Sold的变量。
每次运行程序时,用户就这两个变量提供具体值,这样看起来就非常直观。具体方法是:通过用一个或多个单词组成有意义的变量名来使变量意义明确。例如,变量名SalesTaxRate就比Tax或Rate的意义明确得多。
参考资料来源:百度百科-变量
执行程序后变量k的值为4。
程序的执行过程:
首先我们可以将a变量转化成二进制的形式0x3转换成二进制为(0011)B,然后将b变量转化成二进制的形式为(0010)B,然后进行疑惑运算得到异或运算的结果为:(0001)B。
然后我们再对得到的结果进行左移两位的运算变为(0100)B。转化成十进制后结果为4。所以k的值为4。
16进制0x3可以先转换成二进制,然后再转换成10进制。
扩展资料:
异或的运算法则:
1、 归零律:a ⊕ a = 0。
2、恒等律:a ⊕ 0 = a。
3、交换律:a ⊕ b = b ⊕ a。
4、结合律:a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c。
5、自反:a ⊕ b ⊕ a = b。
6、d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c。
7、若x是二进制数0101,y是二进制数1011。
无符号右移运算符规则:
按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。
按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。
语法格式:
需要移位的数字 << 移位的次数,例如: 3 << 2,则是将数字3左移2位。
k = (3^2)<<2 = 1<<2 = 4