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;
若各选项中所用变量已正确定义,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){……}
若有定义: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) {......}
变量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
单选题假定带符号整数采用补码表示,若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,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