(1/2)+'a'/2+(float)(2/5)为什么等于49.0
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:数学作业 时间:2024/07/06 11:31:00
(1/2)+'a'/2+(float)(2/5)为什么等于49.0
逐项解释如下:
首先要记得C语言中两个整型数相除,结果仍是一个整型数.如13/5=2.于是:
!(1/2)=!(0)=-1
'a'/2=97/2=48
(float)(2/5)=(float)(2)=2.0
当整数与实数相加时,结果是一个实数.
所以:-1+48+2.0=49.0
再问: !(0)=-1和(float)(2/5)=(float)(2)这两个地方不是很懂
再答: 0的二进制形式是00000000 00000000
!0就是对它按位取反,就是11111111 11111111,而在二进制补码中这就是-1(请不要说这里不懂,否则请自己另行查阅二进制补码的知识)
(2/5)=2,这总知道的吧!
那么(float)2就是2.0了。
再问: 嗷嗷谢谢
首先要记得C语言中两个整型数相除,结果仍是一个整型数.如13/5=2.于是:
!(1/2)=!(0)=-1
'a'/2=97/2=48
(float)(2/5)=(float)(2)=2.0
当整数与实数相加时,结果是一个实数.
所以:-1+48+2.0=49.0
再问: !(0)=-1和(float)(2/5)=(float)(2)这两个地方不是很懂
再答: 0的二进制形式是00000000 00000000
!0就是对它按位取反,就是11111111 11111111,而在二进制补码中这就是-1(请不要说这里不懂,否则请自己另行查阅二进制补码的知识)
(2/5)=2,这总知道的吧!
那么(float)2就是2.0了。
再问: 嗷嗷谢谢
(1/2)+'a'/2+(float)(2/5)为什么等于49.0
假定int a=2,b=5,表达式:a+'1'+(float)(b/a)的值
(float)(a+b)/2 a=2,b=3,等于多少
int a=7;float x=2.5,y=4.7 x+a%3*(int)(x+y)%2\4的值为什么等于2.5
C语言 float a[5][4]={{2,3,4},{5,6,7},{8,9,1}};
C语言中,(float) 7/2等于多少?
C语言中,若声明int a=5,b=2; 则表达式b+=(float)(b+a)/2运算后B等于多少
把x y定义成float变量类型,并赋同一初值3.14 为什么这2个是错的float x,y=3.14 float x=
// void fun( float y ,float x[],) { x[0] = x[1] + x[2]; y =
C语言里(float)(3/2)是等于1.0还是等于1.5,请给出理由.
C语言float a[5][3],*p[3];p[0]=a[0];p[2]=a[4]是什么意思?
已知int a=2;double b=3.5;则a+b的值类型为什么?A.int B.double C.float D.