变量类型Variable Types

本篇将简介C++中所有类型的变量,如int, bool, double, char 和 float

整型 Integers

整数是没有小数点的数,例如 1, 2, 3, 4 这些都是整数,而 4.3 则不是整数。如果试图把 4.3 当做一个整数,则该数字将会被截断为 4.

整数中还有很多不同的类型,我们将一个一个的展示。

下面将介绍短整型 short :(short通常定义为16位整数)

short myVariableName1; //所包含范围为: -32768 to +32767

short int myVariableName2; //所包含范围为: -32768 to +32767

signed short myVariableName3; //所包含范围为: -32768 to +32767

signed short int myVariableName4; // 所包含范围为:-32768 to +32767

unsigned short myVariableName5; // 所包含范围为:0 to +65535

unsigned short int myVariableName6; // 所包含范围为: 0 to +65535

另一种类型的整数是 16位和 32位整数:

int myVariableName7;  // 所包含范围为: -32768 to +32767

signed int myVariableName8;  // 所包含范围为: -32768 to +32767

unsigned int myVariableName9;  // 所包含范围为: 0 to +65535

还有一种整型是 长整型 long :

long myVariableName10;  //范围为: -2147483648 to +2147483647

long int myVariableName11;  // 范围为: -2147483648 to +2147483647

signed long myVariableName12;  // 范围为: -2147483648 to +2147483647

signed long int myVariableName13; // 范围 -2147483648 to +2147483647

unsigned long myVariableName14;  //范围为  0 to +4294967295

unsigned long int myVariableName15;  // 范围为0 to +4294967295

对于 int

2^16 = 65536

这是变量的总范围

除以 2,得到32768

因此 -32768 to 32767 (应该是32768,但是 1 的位置被 0 占据)

现在 long 的大小是 4 字节(32字节)

所以变换的范围是 2^32.

那么,long 和 a signed long int 有什么不同呢?后者是无符号长整型 ,前者是无符号整型,占用的字节相同,取值范围相同,整数的末尾后缀不一样。

字符型 char

char 是一个8位的整数,这意味着一个 unsigned char 可以存储从0~255,并且 signed char 可以存储 -128 and 127Unsigned chars 通常 用于存储ASCII格式的文本。可以初始化 char 以保存数字和字符,但它只存储ASCII值。

#include <iostream>
using namespace std;

int main()
{
  char myChar='A';
  char myOtherChar=65;
  cout << "Value of myChar is: "<< myChar<<endl;
  cout << "Value of myOtherChar is: "<< myOtherChar<<endl;
  return 0;
}

上面代码初始化的两个字符是相等的,数字 65 是 A 的ASCII码。

浮点数 Floats

浮点数是存储大小为4字节的浮点数,这意味着这些数字可以保留小数位。这允许我们存储诸如 “8.344”“3432432653.24123”

 #include <iostream>
using namespace std;
int main()
{
  float myFloat;  // 创建一个浮点变量
  myFloat = 8.3;  // 将8.3赋予变量
  cout<< "Value of myFloat is: "<< myFloat << endl;
  return 0;
}

浮点数在内存中有固定的大小。这意味着一个浮点数不可能精确地存储实数系统中所有的十进制值。

注意:float 数据类型通常只存储小数值的良好近似值,而不是确切的值。

双精度浮点数 Doubles

双精度浮点数类似于浮点数,这意味着它们可以存储小数位数。双精度浮点数通常比标准浮点数存储更多的信息,它们的存储大小为8字节。

#include <iostream>
using namespace std;
int main()
{
  double myDouble;   //创建变量
  myDouble = 8.78;   // 将8.78 赋值给变量
  cout << "Value of myDouble is: "<< myDouble <<endl;
  return 0;
}

正如float数据类型所指出的,double 通常只存储精确小数值的近似值(尽管与较小的float数据类型相比,他通常具有更高的精确度近似值)。

布尔型 Boolean

bool(boolean)类型是一个 1 byte 的数据类型,要么为 真,要么为 假。真值是除了 0 以外的任何数字,假值是 0 。真正的 真值 通常用 1 表示 true 。

#include <iostream>
using namespace std;
int main()
{
  bool canJump = false;
  bool canDo = true;
  cout<< "Value of canJump is: "<< canJump<<endl;
  cout<< "Value of canDo is: "<< canDo<<endl;
  return 0;
}

发表评论