美文网首页
C++算术类型

C++算术类型

作者: 傻沙 | 来源:发表于2016-11-03 11:28 被阅读0次

Tags:C++,《C++ Primer Plus》笔记


一、分类##

见下图,注意以下几点:

  • char16_tchar32_t 是C++11新增的类型。
  • 随着编译器和系统的不同,整型和浮点数所占的位数可能会不同,下图中只记录了可能的最小位数,以作对比。
  • unsigned 版本能表示的数值是 signed 版本绝对值的两倍,他们就像表盘,一旦数值溢出,多余的部分将重新轮回计数。
  • 默认情况下,C++以 int 类型存储整数值,double 存储浮点数。
CcaculateCcaculate

</br>

二、声明与赋值##

</br>

声明###

C++中声明值有多种方法:

  • (unsigned) typeName variable (类型名 + 变量名)
    unsigned 为可选为无符号值时才显式加入。用于声明一个变量。

  • 整形字面量,通过类型前后缀声明创建一个常量:

#include <iostream>
int main() {
    using namespace std;
    cout << 42 << endl; //十进制int
    cout << 0x42 << endl; //八进制int
    cout << 042 << endl;  //十六进制int
    cout << 1.492E3 << endl; //double  
    cout << 1492UL << endl; //unsigned long 1492
    cout << 1.492F << endl; //float
}

<p style="text-indent:2em">用后缀时,好的编程习惯要求全部大写。</p>

  • const (unsigned) typeName variable
    加上 const 操作符,显式声明并立刻赋值一个不可更改的常量,不可只声明不赋值。

</br>

赋值###

C++中赋值算术类型有两种方法:

  • 使用 = 赋值运算符:int a = 123;
  • 使用列表赋值法:int a {123};

</br>

三、整型##

整型只需要强调 char 类型。

  • 用单引号 '' 包括的内容为 char 字面值,它等于引号内容所对应的字符集编码。
  • wcha_t 宽字符类型用于处理较大位的字符集,它将定义为尽可能宽,用 L 前缀标识:wchar_t bob = L'p';
  • char16_tchar32_t 分别为16位和32位的字符类型,分别用 uU 标识:char16_t ch1 = u'q'; char32_t ch2 = U'\U0000222B';

</br>

四、浮点数##

浮点数有两种书写方式:

  • 使用常用的标准小数点表示法。
  • E表示法,即科学计数法。

当数值溢出时,将自动转换为E表示法,由于float 只保证6位有效,因此通常该情况发生于 float

</br>

五、类型转换(重点)##

</br>

1. 初始化赋值转换####

在用赋值运算符 = 或列表赋值法 {} 时,所给 value 值将被转化为指定的 type 类型。注意 {} 不支持缩窄转换,否则将报错。

</br>

2. 表达式中的转换####

整型计算时,小于 int 类型的值将全部转化为 int 值进行计算,大于的类型保留。这被称为整型提升。

其他情况时,遵照优先级进行转化:

long double > double > float > long long > long > int > 较高级无符号 > (可容纳)较低级无符号 > 同级无符号 > 相同类型不转换

后者类型将转换为前者类型,优先转化前面的比较(类型比符号优先)。

</br>

3. 参数传递转化####

没有控制参数类型的函数,按照默认(整型 int,浮点数 float)情况进行转化。

</br>

4. 强制类型转化(待添加)####

C++共5种,这里先记录两种

  • (typeName) value(C风格)或 typeName (value),将 value 强行转化为 typeName 类型。
  • static_cast<typeName> (value),将 value 强行转化为 typeName 类型。

相关文章

  • chapter-2

    C++ Primer第二章! //C++定义了算术类型和空类型,其中算术类型包括字符、整数、布尔值、浮点数。//带...

  • 第二章 变量和基本类型

    2.1基本内置类型 C++定义了一套包括算术类型和空类型在内的基本数据类型。 2.1.1 算术类型 算术类型分为两...

  • c++ primer

    2 变量和基本类型。 2.1 变量和基本类型。 c++定义了一套 算术类型和空类型,算术类型主要是整型(包括boo...

  • 第二章

    基本内置类型 C++ 定义了一套包括算术类型和空类型 (void) 在内的基本数据类型。算术类型分为两类:整型 (...

  • C++算术类型

    Tags:C++,《C++ Primer Plus》笔记 一、分类## 见下图,注意以下几点: char16_t,...

  • C++思考笔记(1):基本数据类型

    基本数据类型 除开void类型之外,就是算术类型。而算术类型又可以分为整型和浮点型: C++标准并没有规定基本数据...

  • Cpp:基本内置类型&字面值常量

    一、基本内置类型 C++定义的几种基本的算术类型:int,char,float和bool。以及特殊的void类型,...

  • C++与python差异(一)

    内置数据类型(1)c++的内置类型包括基本类型和复合类型,基本类型有算术类型和空类型两种,复合类型是基于基本类型定...

  • C/C++中如何获取数组和指针的长度

    获取数组长度 算术表达式 函数模板参数自动推断 标准C++模板库 模板特化与自动类型推断 Visual C++编译...

  • C++ 基本数据类型

    由于考研的编程题很多都需要使用C++语言来写,所以虽然我不太喜欢C++这门语言,那么还是得来看看。 算术类型 需要...

网友评论

      本文标题:C++算术类型

      本文链接:https://www.haomeiwen.com/subject/cobbuttx.html