Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要解释一下用c做的数学计算吗_C - Fatal编程技术网

需要解释一下用c做的数学计算吗

需要解释一下用c做的数学计算吗,c,C,我在c上找到了以下代码 #include<stdio.h> int main(){ int a; a=015 + 0x71 +5; printf("%d",a); return 0; } #包括 int main(){ INTA; a=015+0x71+5; printf(“%d”,a); 返回0; } 当我编译它时,它给出了131作为答案。但我无法找出它是如何在C中发生的,以0开头的数字是八进制(以8为基数),以0x开头的

我在c上找到了以下代码

 #include<stdio.h> 
 int main(){
     int a;
     a=015 + 0x71 +5;
     printf("%d",a);
     return 0;
     }
#包括
int main(){
INTA;
a=015+0x71+5;
printf(“%d”,a);
返回0;
}

当我编译它时,它给出了131作为答案。但我无法找出它是如何在C中发生的,以
0开头的数字是八进制(以8为基数),以
0x
开头的数字是十六进制(以16为基数)


015+0x71+5
是158+7116+5=(1•8+5)+(7•16+1)+5=13+113+5=131。八进制
015
是10进制值
13

十六进制值
0x71
是10进制值
113

5
以10为基数


13+113+5
相加,得到
131

八进制、十六进制、十进制。看看这个
015+0x71+5
以三种不同的基数表示数字。它所缺少的只是一个二进制文本。@Shawn,但在标准C.8+5+7*16+1+5=131中当然没有二进制文本。您希望得到什么值?为什么?