|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
下面三个代码中,最上方第一个是我的代码,long long int result,
第二个代码中result的数据类型则定义为unsigned long long int,
第三个代码中result的数据类型则定义为unsigned int,
那么问题是:为何这在这三种不同的数据类型前提下,最终result的计算结果是一样的?
(而最开始我写int result则溢出了,甲鱼老师视频课程中也简单模仿了一下这个小错误)- #include <stdio.h>
- #include <math.h>
- int main()
- {
- long long int result;
- result=pow(2,32)-1;
-
- printf("result=%llu\n", result);
-
- return 0;
- }
复制代码
- #include <stdio.h>
- #include <math.h>
- int main()
- {
- unsigned long long int result;
- result=pow(2,32)-1;
-
- printf("result=%llu\n", result);
-
- return 0;
- }
复制代码
#include <stdio.h>
#include <math.h>
int main()
{
unsigned int result;
result=pow(2,32)-1;
printf("result=%llu\n", result);
return 0;
}
|
|