进制表示比较
进制c/c++c#javapythonmatlab
二进制0b数字
八进制0数字0数字0o数字
十六进制0x数字0x数字0x数字0x数字

c/c++数据类型

数据类型基本类型数值类型整型short2字节\tiny -2^{15}=-32768~32767=\tiny 2^{15}-1%hi/%hd
unsigned short2字节,0~32767=\tiny 2^{16}-1%hu
int2字节(16位及以下系统) 或4字节\tiny -2^{31}=-2147483648~2147483647=\tiny 2^{31}-1%d/%i
unsigned int2字节(16位及以下系统) 或4字节,0 ~ 4294967295=\tiny 2^{32}-1%u
long4字节(32位及以下系统) 或8字节\tiny -2^{63} ~ \tiny 2^{63}-1%ld/%li
unsigned long4字节(32位及以下系统) 或8字节,0 ~ \tiny 2^{64}-1%lu
long long8字节\tiny -2^{63} ~ \tiny 2^{63}-1%lli/%lld
unsigned long long8字节,0 ~ \tiny 2^{64}-1%llu
浮点型float4字节\tiny -2^{128}= -3.4x\tiny 10^{38} ~ 3.4x\tiny 10^{38}=\tiny 2^{128}-1精确到小数点后第6位%f(十进制计数法),%e(科学计数法),%g(根据数值大小自动选择%f或%e,选择输出时占宽度较小的一种)
double8字节\tiny -2^{1024}= -1.7x\tiny 10^{308} ~ 1.7x\tiny 10^{308}=\tiny 2^{1024}精确到小数点后15位%f /%e /%g
long doubleC99新出的关键字,不同的系统不尽相同。可以使用sizeof()函数测量,64位vs2013测得8字节 %Lf /%Le /%Lg
字符型char1字节\tiny -2^{7}=-128 ~ 127=\tiny 2^{7}-1%c
unsigned char1字节,0 ~ 255=\tiny 2^{8}-1
wchar_t宽字符(有符号),根据编译器跟系统而有所不同,2字节/4字节。可以使用sizeof()函数测量。%lc
构造/派生类型数组[ ]自定义
结构体struct自定义
共用体union自定义
枚举类型enum自定义
指针类型 *指针即为地址,字节长度跟语言无关,跟系统的寻址能力有关,譬如以前是16为地址,指针即为2个字节,现在一般是32位系统,所以是4个字节,以后64位,则就为8个字节。%p
空类型void空类型,常与指针结合使用

八进制格式控制符为%o,十六进制格式控制符为%x。C语言中没有 bool 型和 string 型,C++中有,字符串型格式控制符为%s。C++中增加了类的概念,修饰符为class。c/c++提供了typedef关键字为已有的或自定义的数据类型命名别名。

注:float 类型可以表示的最小正浮点数为 1.4E-45(2的-149次方),double 类型可以表示的最小正浮点数为 4.9E-324(2的-1074次方)。

c#数据类型

数据类型值类型布尔型bool1字节,True或False,默认False
数值类型整型byte1字节,0 ~ 255=\tiny 2^{8}-1
sbyte1字节有符号,\tiny -2^{7}=-128 ~ 127=\tiny 2^{7}-1
short2字节\tiny -2^{15}=-32768~32767=\tiny 2^{15}-1
ushort2字节,0~32767=\tiny 2^{16}-1
int4字节\tiny -2^{31}=-2147483648~2147483647=\tiny 2^{31}-1
uint4字节,0 ~ 4294967295=\tiny 2^{32}-1
long8字节\tiny -2^{63} ~ \tiny 2^{63}-1
ulong8字节,0 ~ \tiny 2^{64}-1
浮点型float4字节\tiny -2^{128}= -3.4x\tiny 10^{38} ~ 3.4x\tiny 10^{38}=\tiny 2^{128}-1
double8字节\tiny -2^{1024}= -1.7x\tiny 10^{308} ~ 1.7x\tiny 10^{308}=\tiny 2^{1024}
decimal16字节,-7.9 x \tiny 10^{28} 至 7.9 × \tiny 10^{28}精确到28位
字符型char2字节Unicode字符,U+0000 ~ U+ffff
引用类型class自定义
数组类型[ ]自定义
对象类型object可以接受所有类型的值(装箱),也可以转化为任何类型的值(拆箱)。
动态类型dynamic可以在动态数据类型变量中存储任何类型的值。这些变量的类型检查是在运行时发生的。
字符串类型stringstring是System.String类的别名。String类是从对象类型object派生的。
指针类型*跟系统的寻址能力有关,比如32位系统,就是4个字节

c#中的值类型还包括枚举类型 enum,结构体 struct。

java数据类型

数据类型内置数据类型布尔型boolean1字节,True或False,默认False
数值类型整型byte1字节\tiny -2^{7}=-128 ~ 127=\tiny 2^{7}-1
short2字节\tiny -2^{15}=-32768~32767=\tiny 2^{15}-1
int4字节\tiny -2^{31}=-2147483648~2147483647=\tiny 2^{31}-1
long8字节\tiny -2^{63} ~ \tiny 2^{63}-1
浮点型float4字节\tiny -2^{128}= -3.4x\tiny 10^{38} ~ 3.4x\tiny 10^{38}=\tiny 2^{128}-1
double8字节\tiny -2^{1024}= -1.7x\tiny 10^{308} ~ 1.7x\tiny 10^{308}=\tiny 2^{1024}
字符型char2字节,\u0000=0 ~ 65535=\uffff
引用类型class自定义
接口类型interface自定义
数组类型[ ]自定义

java中属于值类型但不是基本类型的还有枚举类型 enum。

python数据类型

数据类型不可变数据类型

数字类型

布尔型boolPython2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
整型intpython2.*中int类型与系统位长有关,32位4字节,64位8字节;long类型长度无限制。python3中整型长度无限制,取消了long类型
浮点型floatpython3和python2.*对单精度和双精度类型都不作区分,统一视为双精度类型,同java的double
复数complex复数,eg:a=1.2+3.5j/a=complex(1.2,3.5)
字符串类型string自定义
元组类型tuple自定义
可变数据类型列表类型list自定义
字典类型dictionary自定义
集合类型set自定义

Python 中的变量赋值不需要类型声明,因此上表中数据类型对应的英文名称没有相应的关键字。Python不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。python也是一种面向对象的语言,因此也包含类的概念,需要使用class关键字定义。

matlab数据类型

数据类型基本类型数值类型整型int81字节
uint81字节无符号
int162字节
uint162字节无符号
int324字节
uint324字节无符号
int648字节
uint648字节无符号
浮点型single4字节,单精度浮点数
double8字节,双精度浮点数
逻辑型 logical1字节,逻辑值为10
字符型 char字符串作为字符向量存储
复杂类型数组类型[ ]普通数值数组
元胞数组{ }自定义
结构体struct自定义
函数处理function自定义
用户类class自定义
java类调用java类

MATLAB不需要任何类型声明或维度语句。当MATLAB遇到新的变量名称时,它将创建变量并分配适当的内存空间。上表中基本数据类型对应的英文名称并没有相应的关键字。

 

 

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐