Java篇
最近被算法题目里面的最大值和最小值搞的头昏脑胀, 下面我来说一下普通(小孩子都会可是我不会)的各个数据类型以及常用类的大小吧!
| 类型 | 长度/B=8bit | 范围 |
|---|---|---|
| byte | 1 | -128~127 |
| boolean | 1 | true Or false |
| int | 4 | -231~231-1 ,也就是(-2147483648~2147483647),记住2*109 |
| short | 2 | -32768~32767 |
| long | 8 | -9223372036854775808 ~ 9223372036854775807,记住是9*1019 |
| char | 2 | ASCII码为0~65535的的字符 |
| float | 4 | -3.4E38~3.4E38 |
| double | 8 | -1.7E308~1.7E308 |
如何在程序中表示最大值和最小值呢?
我们直到在Java中对常用数据类型进行了包装,那么我们可以调用这些包装类的方法属性来获得:
public static void main(String[] args) {//获得各个类型的最大值和最小值System.out.println(Integer.MAX_VALUE);System.out.println(Integer.MIN_VALUE);System.out.println(Long.MAX_VALUE);System.out.println(Long.MIN_VALUE);System.out.println(Short.MAX_VALUE);;System.out.println(Short.MIN_VALUE);System.out.println(Double.MAX_VALUE);System.out.println(Double.MIN_VALUE);}结果:Integer: 2147483647 -2147483648Long: 9223372036854775807 -9223372036854775808Short: 32767 -32768Double: 1.7976931348623157E308 4.9E-324
C++篇
C++定义的基本数据类型和Java的相似,但是有几个其他几个数据类型需要说一下:
| 类型 | 长度/B=8bit | 范围 |
|---|---|---|
| long | 4 | 0 ~ 18,446,744,073,709,551,615 |
| unsigned short int | 2 | -2147483648~2147483647 |
| wchar_t | 2 或 4 个字节 | 1 个宽字符 |
| long long(C11) | 8 | 9223372036854775808~+9223372036854775807(约9*1019左右) |
wchar_t: typedef short int wchar_t;,所以 wchar_t 实际上的空间是和 short int 一样,通过函数来获得各个类型的最大值和最小值:
#include<iostream>#include <climits> //导入Climits模板using namespace std;int main(){cout << "char: \t\t" << "所占字节数:" << sizeof(char);cout << "\t最大值:" << CHAR_MAX; //变量名cout << "\t\t最小值:" << CHAR_MIN << endl;cout << "int: \t\t" << "所占字节数:" << sizeof(int);cout << "\t最大值:" << INT_MAX;cout << "\t\t最小值:" << INT_MIN << endl;cout << "unsigned: \t" << "所占字节数:" << sizeof(unsigned);cout << "\t最大值:" << UINT_MAX;cout << "\t\t最小值:" << UINT_MAX << endl;cout << "long: \t\t" << "所占字节数:" << sizeof(long);cout << "\t最大值:" << LONG_MAX;cout << "\t\t最小值:" << LONG_MIN << endl;cout << "type: \t\t" << "************size**************"<< endl;return 0;}结果:char: 所占字节数:1 最大值:127 最小值:-128int: 所占字节数:4 最大值:2147483647 最小值:-2147483648unsigned: 所占字节数:4 最大值:4294967295 最小值:4294967295long: 所占字节数:4 最大值:2147483647 最小值:-2147483648type: ************size**************
注意:long long和long long int是一样的,同样long和long int也是一样的。long是4个字节,long long是8个字节。
