无穷大、无穷小
C++:
32-bit int的最大值可以表示为0x7FFFFFFF,也可以用INT_MAX代替,但是一旦进行一些加减乘除容易溢出。如果改用0x3f3f3f3f,不会那么容易溢出,并且它的数量级已经达到了10^9,足以表示无穷大。
#include <bits/stdc++.h>
using namespace std;
int m1=0x7fffffff;
int m2=0x3f3f3f3f;
int m3=INT_MAX;
int main()
{
cout<<m1<<endl;
cout<<m2<<endl;
cout<<m3<<endl;
cout<<m1*2<<endl;
cout<<m2*2<<endl;
return 0;
}
结果:
2147483647
1061109567
2147483647
-2
2122219134
Java:
正无穷:正数/0.0 或者Double or Float 的POSITIVE_INFINITY
负无穷:负数/0.0 或者Double or Float 的NEGATIVE_INFINITY
非数:0.0/0.0 NaN 不是任何数,甚至NaN都不会等于NaN
注意上面的0.0都不可以改成0,不然会报错
double a1=1/0.0;
Double a2=Double.NEGATIVE_INFINITY;
double a3=0.0/0.0;
System.out.println(a1);
System.out.println(a2);
System.out.println(a3);
System.out.println(a3>8);
结果:
Infinity
-Infinity
NaN
false
输出二进制
C++:
int x=1000;
long long y=1000;
cout<<bitset<32>(x)<<endl;
cout<<bitset<64>(y)<<endl;
Java:
int x=1000;
System.out.println(Integer.toBinaryString(x));