2、已知带符号整数用补码表示,float型数据用IEEE754标准表示,假定变量x的类型只可能是int或float,当x的机器数为C800 0000H时,x的值可能是()。A.‘-7×2^27B.‘-2^16C.2^17D.25×2^27

2、已知带符号整数用补码表示,float型数据用IEEE754标准表示,假定变量x的类型只可能是int或float,当x的机器数为C800 0000H时,x的值可能是()。

A.‘-7×2^27

B.‘-2^16

C.2^17

D.25×2^27


参考答案和解析
原码:加法与减法运算规则不统一,增加了成本;整数0 有“00000000”和“10000000”两种表示形式。 反码:整数0 有“00000000”和“10000000”两种表示形式。 补码:加法与减法运算规则统一, 没有“-0”,可表示的数比原码反码多一个。 所以带符号整数在计算机内不采用“原码”而采用“补码”的形式表示。 举例 1 - 1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原 = [1000 0010]原 = -2。 1 - 1 = 1 + (-1) = [0000 0001]反 + [1111 1110]反 = [1111 1111]反 = [1000 0000]原 = -0 。 1 - 1 = 1 + (-1) = [0000 0001]补 + [1111 1111]补 = [0000 0000]补 = [0000 0000]原 = 0。

相关考题:

设已有定义: float x; 则以下对指针变量 p 进行定义且赋初值的语句中正确的是A)float *p=1024;B)int *p=(float)x;C)float p=x;D)float *P=x;

若各选项中所用变量已正确定义,函数 fun 中通过 return 语句返回一个函数值,以下选项中错误的程序是A)main(){ …… x=fun(2,10); …… }float fun(int a,int b){ …… }B)float fun(int a,int b){ …… }main(){ …… x=fun(i,j); …… }C)float fun(int,int);main(){ …… x=fun(2,10); …… }float fun(int a,int b) { …… }D)main(){ float fun(int i,int j);…… x=fun(i,j); …… }float fun(int a,int b){ …… }

下列程序段不会发生二义性的是_。 A.int fun(double p){…;} float fun(float p){…;} int x; x=fun(0);B.int fun(float p){…;}float fun(unsigned p){…;} int x; x=fun(0);C.int fun(int i,int j=2){…;}float fun(int i){…;} coutfun(5);D.int fun(int i=2,int j=2){…;} int fun(int *p){…;} coutfun(5);

设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是( )。A.float *p=1024;B.int *p=(float x);C.float p=x;D.float *P=x;

已有定义:float x=5.5;则表达式:x=(int)x+2的值为。

若各选项中所用变量已正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是( )。A.main() {……x=fun(2,10);……} float fun(int a,int b){……}B.float fun(int a,int b){……} main() {……x=fun(i,j);……}C.float fun(int,int); main() {……x=fun(2,10);……} float fun(int a,int b){……}D.main() {float fun(int I,intj); ……x=fun(i,j);……} float fun(int a,int b){……}

已知x为整数变量,那么表达式int(hex(x),16)==x的值为_____________。

下面表示引用的方法中正确的是( )。已知:int n=10;A.int x=nB.int zC.int y=10D.float t=n

已知| x |<2π,x是整数,求x的值,并在数轴上表示求得的数。

下列表示引用的方法中,( )是正确的。 已知:int m=10:A.int x=m;B.int y=10;C.int ZD.float t=m;

若有定义:int x=1,y=2;float a=3.7,b=2.1;则(x+y)%2+(int)a/(int)b表达式的值为( )。

设有定义int x; float y; , 则10+x+y值的数据类型是A.intB.doubleC.floatD.不确定

若有定义:int a=4, b=5;float x=3.4,y=2.1;,则下列表达式的值为( )。 (float) (a+b)/2+(int)x%(int)yA.5.5B.55C.5.5D.55

若有定义:int a=2,b=3;float x=3.5,y=2.5;则下面表达式的值为______。(float)(a+b)/2+(int)x%(int)yA.3.5B.35C.3.5D.35

若各选项中所有变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是______。A.mam() {…… x=fun(2,10); ……} fioat fun(int a,int b) { ……}B.float fun (int a,int b) {……} main() {…… x=fun(i,j); ……}C.float fun (int int); main() {…… x=fun(2,10); ……} float fun (int a,int b){ ……}D.main() { float fun (int i, int j); …… x=fun(i,j); ……} float fun (int a,int b){ ……}

设有以下变量定义,并已赋确定的值: char w; int x; float y; double z; 则表达式:w*x+z-y所求得的数据类型为( )。A.charB.intC.floatD.double

若下列各选项中所有变量已正确定义,函数fun通过return语句返回一个函数值,以下选项中错误的程序是( )。A.main( ) {...... x = fun(2,10);......} float fun(int a, int b){......}B.float fun( int a,int b){......} main( ) {......x = fun(i,j);......}C.float fun(int, int); main( ) {......x=fun(2,10);......} float fun(iht a, int b){......}D.main( ) { float fun(int i, int j); ...... x = fun(i,j);......} float fun(int a,int b) {......}

若有说明:char w; int x; float y; double z; 则表达式w*x+y-z的值的数据类型是()。A、doubleB、charC、intD、float

x为int型,s为float型,x=3,s=2.5。表达式s+x/2的值为()。A、4B、3.5C、2.5D、3

设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为().A、floatB、charC、intD、double

变量x、f、d分别为int,float,double类型的,除了f和d不能等于无穷大和NAN以外值可以任意选取,下面表达式为真的是()A、x==(int)(double)xB、x==(int)(float)xC、d==(double)(float)dD、(f+d)-f==d

假定变量x,f和d的类型分别为int 、float和double。下面表达式的值总是为1的是()A、x==(int)(float)xB、d==(double)(float)dC、f==(float)(double)fD、(f+d)-f==d

填空题已知x为整数变量,那么表达式int(hex(x),16)==x的值为()。

单选题假定带符号整数采用补码表示,若int型变量x和y的机器数分别是FFFF FFDFH和0000 0041H,则x、y的值以及x-y的机器数分别是(  )。Ax=-65,y=41,x-y的机器数溢出Bx=-33,y=65,x-y的机器数为FFFF FF9DHCx=-33,y=65,x-y的机器数为FFFF FF9EHDx=-65,y=41,x-y的机器数为FFFF FF96H

单选题设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,则表达式x+y*a/x+b/y+c的值为()类型。AintBlongCdoubleDchar

单选题x为int型,s为float型,x=3,s=2.5。表达式s+x/2的值为()。A4B3.5C2.5D3

单选题假定变量x,f和d的类型分别为int 、float和double。下面表达式的值总是为1的是()Ax==(int)(float)xBd==(double)(float)dCf==(float)(double)fD(f+d)-f==d

单选题变量x、f、d分别为int,float,double类型的,除了f和d不能等于无穷大和NAN以外值可以任意选取,下面表达式为真的是()Ax==(int)(double)xBx==(int)(float)xCd==(double)(float)dD(f+d)-f==d