为什么c语言中-10>>2+3的值为-1
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/10/02 10:30:08
为什么c语言中-10>>2+3的值为-1
首先,得搞清楚右移操作符">>"和加操作"+"的优先级:(优先级部分截图)
可见+操作优先级高,所以这个问题也就是为什么-10>>5的值为-1了
-10的二进制表示为"10110",将其右移,因为原来是负数,所以左边高位用“1填补”,一共移动五次:
“11011”
“11101”
“11110”
“11111”
“11111”
"11111"表示的就是-1,所以值为-1
再问: Ϊʲô10�Ķ�������1010����-10��10110��
再答: ����Dz���ı�ʾ��ʽѽ��������еĶ������Dz������㣬�ٸ����ӣ�10��1010��ǰ����λΪ0����01010��-10Ϊ10110,����Ļ���01010+10110����00000�����λ���һ��1��00000��Ϊ0�������ֻ����ǰ��
可见+操作优先级高,所以这个问题也就是为什么-10>>5的值为-1了
-10的二进制表示为"10110",将其右移,因为原来是负数,所以左边高位用“1填补”,一共移动五次:
“11011”
“11101”
“11110”
“11111”
“11111”
"11111"表示的就是-1,所以值为-1
再问: Ϊʲô10�Ķ�������1010����-10��10110��
再答: ����Dz���ı�ʾ��ʽѽ��������еĶ������Dz������㣬�ٸ����ӣ�10��1010��ǰ����λΪ0����01010��-10Ϊ10110,����Ļ���01010+10110����00000�����λ���һ��1��00000��Ϊ0�������ֻ����ǰ��
为什么c语言中-10>>2+3的值为-1
C语言中为什么表达试5%-3的值为2,
在C语言中 “a=1","b=a%2+3",的值为多少?
C语言中 int x=1,y=2,z=3;则z+=x>y?++x:++y 的值为多少?为什么?
C语言中 3|2的值为?以及它的含义是什么?
C语言中,int a[][3]={{1,2,3}{4,5,6}};为什么数组a的第一维长度为2
C语言中,表达式10>7>5>3的值为
C语言,为什么表达式1/2的值是0
c语言中的取余运算c语言2%3中为什么等于2,
为什么C语言或其他语言中 a=1,为什么 a=-2 呢
C语言中怎么把1定义为* 把2定义为** 3定义为*** .以此类推~
在c语言中3/2为什么等于0