本篇将简介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 127。Unsigned 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;
}