C++入门④:数据类型
来源:互联网 发布:php获取访问者ip 编辑:程序博客网 时间:2024/06/17 14:33
整形
c++中整形变量有如下几种:short,int,long,long long。大致定义与java相同,但是在长度顶一方面两者还是有一定的区别的。
java上各种类型的长度定义在不同平台上都是一致的:int为32位长,short为16位长,long为64位长。
c++上各种类型的长度定义十分灵活,只保证了最小长度:short至少16位,int至少与short一样长,long至少32位,且至少与int一样长,long long至少64位,且至少要与long一样长。如果想要知道特定系统中各类型的长度,可以使用sizeof()
函数,像这样:int len = sizeof(int)
。
short , long ,long long 分别是 short int ,long int,long long int的简写,当然并没有什么人会去使用它们的全称
上述四种类型都是有符号数,如果要使用无符号数,需要在他们之前加上unsigned
修饰词,关于无符号数与有符号数的区别,就是最高位是否为符号位。
如果需要得到各种类型的最大/小值,我们需要用到符号常量,这些常量都在climits类中,如果需要用到他们,就需要使用#include
指令。
vs中不需要预编译该类就可以使用这些常量,具体原因是创建项目的时候IDE为我们添加了众多的外部依赖项,从而使得我们不需要#include它们就可以使用。
在选择整形方面,一般而言是选择int类型,因为这是计算机处理最高效的长度,如果对占用空间有要求的话,可以使用short,如果想要表示超过16位整形的话最好使用long。
在整形的值的方面,c++与java,c相同,用前缀0x表示十六进制,前缀0表示八进制,无前缀表示十进制。
对于常量来说,常量的类型取决于其后缀,比如10l
,这就是一个long类型的常量。如果常量没有后缀,那么c++将会把保存为常量最合适的状态(一般是int,常量大小超出int除外)。对于八进制,十六进制的常熟来说,编译器会把它们复制给最小的能表示他们的类型:有符号或无符号的int,long等。
字符
c++的char类型的编码为ASCII码,长度为8位即一个字节。而java的char类型的编码为unicode码,长度为两个字节,所以很多java中char类型可以表示的字符不能在c++的char类型中表示(不在ASCII码中的所有字符)。
另外有种特殊的字符为”转义序列“,这种字符c++与java的编码方式以及输入方式完全相同,就不再赘述。
如果需要在c++中使用非ASCII字符集的字符(比如汉字或者日文的话),则需要进行转码,并用wchar,或者char16_u,char32_u等存放,过程较复杂,以后再了解。
布尔类型
相比于c语言,c++中添加了一种新的类型来表示真假,即bool
类型。
与java的boolean
类型相似,均是赋值为true
,false
,但是c++与java不同的是c++中的bool类型可以与int类型互换,具体如下:
true可以转换为int类型的1,false可以转换为int类型的0;如果是int转换为bool,那么所有非零值均转换为bool的true,0转换为bool的false。
两者之将的转换均为隐式完成。
const限定符
如同java中使用final限定了不可更改的常量,c++中也使用了const(当然java是借鉴c++),const用法非常简单,不再赘述。
ANSI C也是用了const限定符,这是从c++借鉴而来的。
浮点数
c++,java中均可以使用两种方法表示浮点数,其一是标准的小数表示法,即i = 2.5
等,另一种方法为E表示法,形式为i = 2.1E10
,E后面的数字只能是整数,表示将小数点向右(如果E后面的数是负数则向左)移动整数位,这种方法通常用于表示极大或者极小的数。
c++中浮点数类型有三种,分别是float(有效位数32位或以上),double(有效位数48位或以上且不小于float),long double(有效位数80,96,128位),这三种类型只是精度不同,他们的指数范围均为-37至37(不知道指数的去面壁)。
如果需要明确浮点常量,需要在值的后main分别加上F或者L以表示float或者long double,后缀没有这两个字母的时候则表示该值类型为double。
- C语言入门-数据类型1
- C++入门④:数据类型
- 【C/C++语言入门篇】-- 基本数据类型
- 【C/C++语言入门篇】-- 基本数据类型
- 【C/C++语言入门篇】-- 基本数据类型
- Object - C 入门 之 数据类型详解
- C语言入门第二篇,基本数据类型
- C#入门(2)简单预定义数据类型
- 【转】【C/C++语言入门篇】-- 基本数据类型
- C语言入门-基本数据类型和输入输出函数
- 【IOS 开发】Object - C 入门 之 数据类型详解
- 【IOS 开发】Object - C 入门 之 数据类型详解
- 【IOS 开发】Object - C 入门 之 数据类型详解
- 【IOS 开发】Object - C 入门 之 数据类型详解
- 【转载】【IOS 开发】Object - C 入门 之 数据类型详解
- C语言入门和基本数据类型学习摘要
- C语言学习入门--基础数据类型(二)
- C语言入门第二章 变量、数据类型及运算符
- python中打开TXT文件报错
- 代码优化4
- 初识JSP之JSP内置对象,JSP三大指令,EL内置对象
- android开发日常问题总结
- java实验1-2:排列字母正三角形
- C++入门④:数据类型
- 易、TC、按键、E4A接入百宝云网络验证系统教程与防破解技巧
- jQuery内置函数map和each的用法
- Python进阶 -- 3. 处理CSV格式
- Vue开源项目库汇总
- 360浏览器兼容模式下代码渲染兼容问题
- hdu 1017
- ActiveMQ教程(二)-安全策略
- mysql 数据库中 int(3) 和 int(11) 什么区别?