这位网友,你好。题目的5/2^50。运算符/理解成整数除,还是数学除法?运算符^是理解成异或还是乘方?
程序代码:
#include<stdio.h>
#define N 50
int main()
{
int i,j,k,t;
int a[N]={5};
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
t=a[j]+k;
a[j]=t/2;
k=t%2*10;
}
}
for(i=0;i<N;i++)
printf("%d,",a[i]);
}
这段的运行结果是
0,0,0,0,0,0,0,-3,0,-2,-2,-5,-1,-8,-2,-9,-7,-8,-6,-8,-2,-5,-9,-6,-5,-1,-2,-9,-5,-3,-7,-5,0,-7,-8,-9,-1,-6,-5,-4,-9,-6,-8,-2,-6,-1,-7,-1,-8,-7,
而两种对运算符的理解,结果和上述结果没看出关联性。
程序代码:
#include <stdio.h>
#include <math.h>
int main(void)
{
int a = 2;
int b = 50;
printf("%d\n", a^b);
printf("%g\n", 5.0 / pow(2, 50));
return 0;
}
运行结果:
48
4.44089e-15
因此,我觉得没有必要理解划线那段是什么意思。
[此贴子已经被作者于2020-9-7 23:49编辑过]