在TC中,已知;unsigned int x=65535;执行以下语句后的x值为?printf("%d\n",x):答案
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/30 09:18:36
在TC中,已知;unsigned int x=65535;执行以下语句后的x值为?printf("%d\n",x):答案写的是-1
unsigned int x=65535
然后呢
转成2进制呗,16个1咯
再然后呢
你又要变成整型,计算机咋办呢?
求补码呗
补码怎么求?
取反加1呗,怎么取反呢
第一个1是不变的,然后后面15个都变成了0,然后加1
就变成了1,14个0,1
再然后计算机输出
因为你的是无符号的,所以只给你15位,后面的15位,就是14个0,跟1
然后第1位干嘛去了呢?他变成横的1了,就这样,变成-1~
再问: 可不可以补码,让计算机求出,不需要人工了解2进制之类的?我们学省二计算机,书上只是粗略的介绍了一下补码。
然后呢
转成2进制呗,16个1咯
再然后呢
你又要变成整型,计算机咋办呢?
求补码呗
补码怎么求?
取反加1呗,怎么取反呢
第一个1是不变的,然后后面15个都变成了0,然后加1
就变成了1,14个0,1
再然后计算机输出
因为你的是无符号的,所以只给你15位,后面的15位,就是14个0,跟1
然后第1位干嘛去了呢?他变成横的1了,就这样,变成-1~
再问: 可不可以补码,让计算机求出,不需要人工了解2进制之类的?我们学省二计算机,书上只是粗略的介绍了一下补码。
在TC中,已知;unsigned int x=65535;执行以下语句后的x值为?printf("%d\n",x):答案
已有定义:int x;执行以下语句后的结果是——.x=11/3;y=5;printf("%%d,%%%d\n",x,y)
若x为int 变量,则执行下列语句x的值为() x=65535; printf(“%d\n”,x); A.65535 B
若已定义 int a=11; 执行以下语句后的输出结果是( ).printf("a=%d,a=%o,a=%x\n",a,
执行以下语句后的输出结果 int x=3,y=0; printf("%d,%d",-1>x>-10&&1-10&&1
若x为int型变量,则执行以下语句后,x的值为
设有变量说明:int x=3,y=4;.那么执行语句;printf("%d,%d\n",(x,y),(y,x));后,
设有定义:floatx=123.4567;则执行下列语句后的输出结果是—— printf("%f\n",(int)(x*
.已知 int x=10,y=20,z=30;以下语句执行后变量x、y、z的值分别为: . if (x>y||xz) {
已知int x=10,y=20,z=30;以下语句执行后x、y、z的值?
设int x=17,y=5;.执行语句“x%=x-y”后x的值为?(书中答案为2,求解释)
设x为int型变量,则执行以下语句后,x的值为 x=10; x+=x-=x-x; A=10 B=20 C=30 D=40