2.1 基本内置类型

        2.1 基本内置类型
        C++定义了一组表示整数、浮点数、单个字符和布尔值的算术类型,另外还定义了一种成为void的特殊类型。
        void类型没有对应的值,仅用在有限的一些情况下,通常用作无返回值函数的返回类型。
        算术类型的存储空间(用于表示的二进制位)依赖机器而定。C++标准规定了每个算术类型的最小存储空间,但它不阻止编译器使用更大的存储空间。

        2.1.1 整型
        表示整数、字符和布尔值的算术类型合成整型。
        字符类型的有两种:char和wchar_t。char类型保证了有足够的空间能够存储机器基本字符集任何字符相应的数值,通常是单个机器字节。wchar_t类型用于扩展字符集,这些字符不能用单个的char表示。
        short、int、long类型都表示整型值,存储空间的大小不同。一般short类型为半个机器字长,int类型为一个机器字长,long类型为一个或两个机器字长。
        bool类型表示真值true和false。可将任何算术类型的任何值赋给bool对象,0值算术类型代表false,任何非0的值表示true。
        1. 带符号和无符号类型
        除bool类型外,整型可以是带符号的,也可以是不带符号的。
        整型short、int、long都默认为带符号型。要或得无符号型则必须指定该类型为unsigned。unsigned int类型可以简写为unsigned。
        char有三种不同的类型:普通char、signed char和unsigned char。虽然char有三种不同的类型,但只有两种表示方式。可以使用signed char或unsigned char表示char类型,使用哪种char表示方式由编译器而定。
        2. 整型值的表示
        无符号型中,所有的位都表示数值。(如8位的unsigned char类型可以取值0到255)
        对于带符号型,C++标准为定义其如何用位来表示,而是由每个编译器自由决定如何表示。这些表示方式会影响带符号类型的取值范围。(如8位的signed char类型的取值至少是从-127到127,但也有许多实现允许取值从-128到127)
        3. 整型的赋值
        对象的类型决定对象的取值。当把一个超出其范围的值赋给一个指定类型的对象时,结果取决与这种类型是signed还是unsigned。
        对于unsigned类型来说,编译器必须调整越界值使其满足要求。编译器会将该值对unsigned类型的可能取值数目求模,然后取所得值。对于负数来说,负数总是超出其取值范围的,有些语言中将负数赋给unsigned类型是非法的,但在C++中这是合法的。
        对于signed类型来说,当将超过取值范围的值赋给signed类型时,由编译器决定实际附的值。在实际操作中,很多的编译器处理signed类型的方式和unsigned类型类似,也就是赋值时是取该值对该类型取值数目求和后的模。然而我们并不能保证编译器都会这样处理signed类型。

        2.1.2 浮点型
        类型float、double、long double分别表示单精度浮点数、双精度浮点数和扩展精度浮点数。
        一般float类型用一个字来表示,double类型用两个字来表示,long double类型用三个或四个字来表示。
        浮点数类型的取值范围决定了浮点数所含的有效数字位数。flaot型只能保证6位有效数字,double型至少可以保证10位有效数字。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值