变换类型 | C | C++ | Java |
---|---|---|---|
char c --> int i | i = c - ‘0’ | i = c - ‘0’ | i = c - ‘0’ |
int i --> char c | c = i + ‘0’ | c = i + ‘0’ | c = i + ‘0’ |
char *s(String s) --> int i | i = atoi(s) | i = stoi(s) | i = Integer.parseInt(s) |
char *s(String s) --> float f | f = atof(s) | f = stof(s) | f = Float.parseFloat(s) |
char *s(String s) --> double d | d = atof(s) | d = stod(s) | d = Double.parseDouble(s) |
int i --> char *s(String s) | s = itoa(int i, char *str, int radix) | s = to_string(i) | s = String.valueOf(i) |
float/double f --> char *s(String s) | sprintf(char *s, const char *format,…) | s = to_string(f) | s = String.valueOf(f) |
基本数据类型大小?
在C中
基本类型 | 32位编译器/单位Byte | 64位编译器/单位Byte |
---|---|---|
char | 1 | 1 |
char* | 4 | 8 |
short | 2 | 2 |
int | 4 | 4 |
unsigned int | 4 | 4 |
long | 4 | 8 |
long long | 8 | 8 |
float | 4 | 4 |
double | 8 | 8 |
在java中
基本类型 | 单位Byte | 取值范围 |
---|---|---|
byte | 1 | 0/1 |
boolean | 1 | true/false |
char | 2 | 0~65535(216-1) |
short | 2 | -32768(-215)~32767(215-1) |
int | 4 | -231~231-1 |
long | 8 | -263 ~ 263-1 |
float | 4 | 单精度浮点数字长32位,尾数长度23,指数长度8,指数偏移量127 |
double | 8 | 双精度浮点数字长64位,尾数长度52,指数长度11,指数偏移量1023 |