整型变量
溢出问题
#include <stdio.h>
int main()
{
short a = 5356,b = 32613;
long sum1;
unsigned short c = 65200;
unsigned long sum2;
sum1 = a - b;
sum2 = a + c;
printf("sum1 = %ld, sum2 = %u\n", sum1, sum2);
return 0;
}
long 取值范围为-2^(31)~2^(31) - 1
unsigned long 取值范围为0 ~ 2^(32) - 1
short 取值范围为 -32768 ~32767
unsigned short 取值范围为0~65535
实型变量
float 7位有效数字
double 10位有效数字
舍入误差分析 Rounding error analysis
#include <stdio.h>
int main()
{
float a;
double b;;
a = 6666.666666;
b = 6666.666666666666;
printf("a = %f, b = %f\n", a, b);
return 0;
}
运行结果 Running results
a = 6666.666504, b = 6666.666667