c、c#、java、python、matlab 数据类型与进制表示的区别
进制表示比较进制c/c++c#javapythonmatlab二进制无无无0b数字无八进制0数字无0数字0o数字无十六进制0x数字0x数字0x数字0x数字无c/c++数据类型数据类型基本类型数...
·
进制 | c/c++ | c# | java | python | matlab |
二进制 | 无 | 无 | 无 | 0b数字 | 无 |
八进制 | 0数字 | 无 | 0数字 | 0o数字 | 无 |
十六进制 | 0x数字 | 0x数字 | 0x数字 | 0x数字 | 无 |
c/c++数据类型
数据类型 | 基本类型 | 数值类型 | 整型 | short | 2字节,=-32768~32767=,%hi/%hd |
unsigned short | 2字节,0~32767=,%hu | ||||
int | 2字节(16位及以下系统) 或4字节,=-2147483648~2147483647=,%d/%i | ||||
unsigned int | 2字节(16位及以下系统) 或4字节,0 ~ 4294967295=,%u | ||||
long | 4字节(32位及以下系统) 或8字节, ~ ,%ld/%li | ||||
unsigned long | 4字节(32位及以下系统) 或8字节,0 ~ ,%lu | ||||
long long | 8字节, ~ ,%lli/%lld | ||||
unsigned long long | 8字节,0 ~ ,%llu | ||||
浮点型 | float | 4字节,= -3.4x ~ 3.4x=,精确到小数点后第6位,%f(十进制计数法),%e(科学计数法),%g(根据数值大小自动选择%f或%e,选择输出时占宽度较小的一种) | |||
double | 8字节,= -1.7x ~ 1.7x=,精确到小数点后15位,%f /%e /%g | ||||
long double | C99新出的关键字,不同的系统不尽相同。可以使用sizeof()函数测量,64位vs2013测得8字节 ,%Lf /%Le /%Lg | ||||
字符型 | char | 1字节,=-128 ~ 127=,%c | |||
unsigned char | 1字节,0 ~ 255= | ||||
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#数据类型
数据类型 | 值类型 | 布尔型 | bool | 1字节,True或False,默认False | |
数值类型 | 整型 | byte | 1字节,0 ~ 255= | ||
sbyte | 1字节有符号,=-128 ~ 127= | ||||
short | 2字节,=-32768~32767= | ||||
ushort | 2字节,0~32767= | ||||
int | 4字节,=-2147483648~2147483647= | ||||
uint | 4字节,0 ~ 4294967295= | ||||
long | 8字节, ~ | ||||
ulong | 8字节,0 ~ | ||||
浮点型 | float | 4字节,= -3.4x ~ 3.4x= | |||
double | 8字节,= -1.7x ~ 1.7x= | ||||
decimal | 16字节,-7.9 x 至 7.9 × ,精确到28位 | ||||
字符型 | char | 2字节Unicode字符,U+0000 ~ U+ffff | |||
引用类型 | 类 | class | 自定义 | ||
数组类型 | [ ] | 自定义 | |||
对象类型 | object | 可以接受所有类型的值(装箱),也可以转化为任何类型的值(拆箱)。 | |||
动态类型 | dynamic | 可以在动态数据类型变量中存储任何类型的值。这些变量的类型检查是在运行时发生的。 | |||
字符串类型 | string | string是System.String类的别名。String类是从对象类型object派生的。 | |||
指针类型 | * | 跟系统的寻址能力有关,比如32位系统,就是4个字节 |
c#中的值类型还包括枚举类型 enum,结构体 struct。
java数据类型
数据类型 | 内置数据类型 | 布尔型 | boolean | 1字节,True或False,默认False | |
数值类型 | 整型 | byte | 1字节,=-128 ~ 127= | ||
short | 2字节,=-32768~32767= | ||||
int | 4字节,=-2147483648~2147483647= | ||||
long | 8字节, ~ | ||||
浮点型 | float | 4字节,= -3.4x ~ 3.4x= | |||
double | 8字节,= -1.7x ~ 1.7x= | ||||
字符型 | char | 2字节,\u0000=0 ~ 65535=\uffff | |||
引用类型 | 类 | class | 自定义 | ||
接口类型 | interface | 自定义 | |||
数组类型 | [ ] | 自定义 |
java中属于值类型但不是基本类型的还有枚举类型 enum。
python数据类型
数据类型 | 不可变数据类型 | 数字类型 | 布尔型 | bool | Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。 |
整型 | int | python2.*中int类型与系统位长有关,32位4字节,64位8字节;long类型长度无限制。python3中整型长度无限制,取消了long类型 | |||
浮点型 | float | python3和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数据类型
数据类型 | 基本类型 | 数值类型 | 整型 | int8 | 1字节 |
uint8 | 1字节无符号 | ||||
int16 | 2字节 | ||||
uint16 | 2字节无符号 | ||||
int32 | 4字节 | ||||
uint32 | 4字节无符号 | ||||
int64 | 8字节 | ||||
uint64 | 8字节无符号 | ||||
浮点型 | single | 4字节,单精度浮点数 | |||
double | 8字节,双精度浮点数 | ||||
逻辑型 | logical | 1字节,逻辑值为1 或0 | |||
字符型 | char | 字符串作为字符向量存储 | |||
复杂类型 | 数组类型 | [ ] | 普通数值数组 | ||
元胞数组 | { } | 自定义 | |||
结构体 | struct | 自定义 | |||
函数处理 | function | 自定义 | |||
用户类 | class | 自定义 | |||
java类 | 调用java类 |
MATLAB不需要任何类型声明或维度语句。当MATLAB遇到新的变量名称时,它将创建变量并分配适当的内存空间。上表中基本数据类型对应的英文名称并没有相应的关键字。
更多推荐
已为社区贡献5条内容
所有评论(0)