主页
  • 主页
  • 分类
  • 热文
  • 教程
  • 面试
  • 标签
C++

C++ 基础

C++ 主页
C++ 概述
C++ 环境
C++ 基本语法
C++ 注释
C++ 数据类型
C++ Hello, World
C++ 省略命名空间
C++ 数值类型
C++ 字符类型
C++ 布尔类型
C++ 变量
C++ 作用域
C++ 多个变量
C++ 输入输出基础
C++ 常量/文字
C++ 修饰符类型
C++ 存储类别
C++ 操作符
C++ 决策结构
C++ 循环结构
C++ foreach 循环
C++ 数字
C++ 数组
C++ 指针
C++ 枚举类型
C++ 引用变量
C++ 日期与时间
C++ 结构体
C++ 联合类型

C++ 字符串

C++ 字符串
C++ 字符串长度
C++ 字符串连接

C++ 函数

C++ 函数
C++ 多参数函数
C++ 递归
C++ return 语句
C++ 函数重载
C++ 函数重写

C++ 面向对象

C++ 面向对象
C++ 类和对象
C++ 多重继承
C++ 多层次继承
C++ 继承
C++ 重载
C++ 多态性
C++ 抽象
C++ 封装
C++ 接口

C++ 高级

C++ 文件和流
C++ 异常处理
C++ 动态内存
C++ 命名空间
C++ 模板
C++ 预处理器
C++ 信号量
C++ 多线程
C++ Web 编程
C++ 高级概念

基础

C++ 主页
C++ 概述
C++ 环境
C++ 基本语法
C++ 注释
C++ 数据类型
C++ Hello, World
C++ 省略命名空间
C++ 数值类型
C++ 字符类型
C++ 布尔类型
C++ 变量
C++ 作用域
C++ 多个变量
C++ 输入输出基础
C++ 常量/文字
C++ 修饰符类型
C++ 存储类别
C++ 操作符
C++ 决策结构
C++ 循环结构
C++ foreach 循环
C++ 数字
C++ 数组
C++ 指针
C++ 枚举类型
C++ 引用变量
C++ 日期与时间
C++ 结构体
C++ 联合类型

字符串

C++ 字符串
C++ 字符串长度
C++ 字符串连接

函数

C++ 函数
C++ 多参数函数
C++ 递归
C++ return 语句
C++ 函数重载
C++ 函数重写

面向对象

C++ 面向对象
C++ 类和对象
C++ 多重继承
C++ 多层次继承
C++ 继承
C++ 重载
C++ 多态性
C++ 抽象
C++ 封装
C++ 接口

高级

C++ 文件和流
C++ 异常处理
C++ 动态内存
C++ 命名空间
C++ 模板
C++ 预处理器
C++ 信号量
C++ 多线程
C++ Web 编程
C++ 高级概念

C++ 数值类型


上一章 下一章

数值数据类型用于处理诸如整数(带符号和无符号)、浮点值和精度值之类的数字数据。

数值数据类型主要包括三种基本的数值数据类型,如下所示:

  • Int
  • Short Int
  • Long Int
  • Long Long Int
  • Unsigned Int
  • Unsigned Short Int
  • Unsigned Long Int
  • Unsigned Long Long Int
  • Float
  • Double
  • Long Double

在本文中,我们将详细介绍所有数值数据类型及其子类型,并附上示例。

1. int 数据类型

int 数据类型简称整数,取值范围从 -2³¹ 到 (2³¹-1)。它占用内存中的 4 字节(即 32 位)。

语法

int 变量名;

进一步分类

(a) short int short int 用于较小的数字,只占用 2 字节(即 16 位)内存。它的取值范围从 -2¹? 到 (2¹?-1)。

语法

short int 变量名;

(b) long int long int 用于较大的数字,占用 4 字节(即 32 位)内存空间,依据编译器的不同,可能占用最多 8 字节(即 64 位)。

语法

long int 变量名;

(c) long long int long long int 用于更大的数字,占用 8 字节(即 64 位)内存空间,依据编译器的不同,可能占用最多 16 字节(即 128 位)。它的取值范围从 -2?³ 到 (2?³-1)。

语法

long long int 变量名;

(d) unsigned int unsigned int 用于存储仅非负值,占用与 int 数据类型相同的内存空间,即 4 字节(即 32 位)。它的取值范围从 0 到 (2³²-1)。

语法

unsigned int 变量名;

(e) unsigned short int unsigned short int 用于存储仅非负值,占用与 short int 数据类型相同的内存空间,即 2 字节(即 16 位)。它的取值范围从 0 到 (2¹?-1)。

语法

unsigned short int 变量名;

(f) unsigned long int unsigned long int 用于存储仅非负值,占用与 long int 数据类型相同的内存空间,即从 4 字节(即 32 位)到 8 字节(即 64 位)。

语法

unsigned long int 变量名;

(g) unsigned long long int unsigned long long int 用于存储仅非负值,占用与 long long int 数据类型相同的内存空间,即从 8 字节(即 64 位)到 16 字节(即 128 位)。它的取值范围从 0 到 (2??-1)。

语法

unsigned long long int 变量名;

示例

以下代码展示了所有派生的 int 数据类型的大小和使用方法:

#include <iostream>
using namespace std; 

int main() {   
   int a = 16;
   short int b = 3;
   long int c = -32;
   long long int d = 555;

   unsigned short int e = 22;
   unsigned int f = 33;
   unsigned long int g = 888;
   unsigned long long int h = 444444;

   cout << "sizeof int datatype is: " << sizeof(a) 
      << " and the number is: " << a << endl; 

   cout << "sizeof short int datatype is: "
      << sizeof(b) << " and the number is: " << b << endl; 

   cout << "sizeof long int datatype is: "
      << sizeof(c) << " and the number is: " << c << endl; 

   cout << "sizeof long long int datatype is: "
      << sizeof(d) << " and the number is: " << d << endl; 

   cout << "sizeof unsigned short int datatype is: "
      << sizeof(e) << " and the number is: " << e << endl; 

   cout << "sizeof unsigned int datatype is: "
      << sizeof(f) << " and the number is: " << f << endl; 

   cout << "sizeof unsigned long int datatype is: "
      << sizeof(g) << " and the number is: " << g << endl; 

   cout << "sizeof unsigned long long int datatype is: "
      << sizeof(h) << " and the number is: " << h << endl; 

   return 0; 
}

输出

sizeof int datatype is: 4 and the number is: 16
sizeof short int datatype is: 2 and the number is: 3
sizeof long int datatype is: 4 and the number is: -32
sizeof long long int datatype is: 8 and the number is: 555
sizeof unsigned short int datatype is: 2 and the number is: 22
sizeof unsigned int datatype is: 4 and the number is: 33
sizeof unsigned long int datatype is: 8 and the number is: 888
sizeof unsigned long long int datatype is: 8 and the number is: 444444

2. float 数据类型

float 数据类型用于浮点数,即带有小数部分的数字。此数据类型占用 4 字节(即 32 位)的内存。

语法

float 元素名;

示例

以下代码展示了 float 数据类型的大小和使用方法:

#include <iostream>
using namespace std; 

int main() {

   float k = 1.120123;
   cout << "sizeof float datatype is: " << sizeof(k) << " and the element is: " << k << endl; 
   return 0; 
}

输出

sizeof float datatype is: 4 and the element is: 1.12012

3. double 数据类型

double 数据类型用于存储比 float 更精确的浮点数。此数据类型占用 8 字节(即 64 位)的内存。

语法

double 元素名;

double 数据类型进一步分类,占用更多内存并存储更精确的元素。

long double

从 double 派生的另一种数据类型是 long double,它占用 16 字节(即 128 位)的内存空间。

语法

long double 元素名;

示例

以下代码展示了所有派生的 int 数据类型的大小和使用方法:

#include <iostream>
using namespace std; 

int main() {

   double m = 1.34000123;
   long double n = 1.21312312421;

   cout << "sizeof double datatype is: " << sizeof(m) << " and the element is: " << m << endl; 
   cout << "sizeof long double datatype is: " << sizeof(n) << " and the element is: " << n << endl;
   return 0; 
}

输出

sizeof double datatype is: 8 and the element is: 1.34
sizeof long double datatype is: 16 and the element is: 1.21312

4. 数值数据类型的显式转换

在 C++ 中,显式类型转换不会自动完成,你需要通过在括号中放置目标数据类型手动转换变量或表达式的类型。这告诉编译器将值转换为特定的目标数据类型。

示例

以下程序展示了数值数据类型从一种类型到另一种类型的显式转换:

#include <iostream>
using namespace std;

int main() {

   double a = 6.551555; 
   cout << "value of a (int) is " << (int)a << endl;
   cout << "value of a (float) is " << (float)a << endl;
   cout << "value of a (double) is " << a << endl;
   cout << "Value of a (long double) is " << (long double)a; 
   return 0; 
}

输出

value of a (int) is 6
value of a (float) is 6.55156
value of a (double) is 6.55155
Value of a (long double) is 6.55155
上一章 下一章
阅读号二维码

关注阅读号

联系二维码

联系我们

© 2024 Yoagoa. All rights reserved.

粤ICP备18007391号

站点地图