分享

3.1 C++基本整型

 Cui_home 2023-03-31 发布于河南

limits.cpp: some integer limits

#include <iostream>
#include <climits>

int main()
{
  using namespace std;
  
  int n_int = INT_MAX;
  short n_short = SHRT_MAX;
  long n_long = LONG_MAX;
  long long n_llong = LLONG_MAX;
  
  cout << "int is " << sizeof(int) << " bytes." << endl;
  cout << "short is " << sizeof(short) << " bytes." << endl;
  cout << "long is " << sizeof(long) << " bytes." << endl;
  cout << "long long is " << sizeof n_llong << " bytes." << endl;
  cout << endl;
  
  cout << "Maximum values:" << endl;
  cout << "int: " << n_int << endl;
  cout << "short: " << n_short << endl;
  cout << "long: " << n_long << endl;
  cout << "long long: " << n_llong << endl << endl;
  
  cout << "Minimum int value = " << INT_MIN << endl;
  cout << "Bits per byte = " << CHAR_BIT << endl;
  
  return 0;
}

1. 编译输出:

int is 4 bytes.
short is 2 bytes.
long is 4 bytes.
long logn is 8 bytes.

Maximum values:
int: 2147483647
short: 32767
long: 2147483647
long long: 9223372036854775807

Minimum int value = -2147483648
Bits per byte = 8

2. 代码详解:

  • C++提倡使用有一定含义的变量名,其命名规则如下:

    1. 在名称中只能使用字母字符、数字和下划线(_)

    2. 名称的第一个字符不能是数字

    3. 区分大写字符和小写字符。

    4. 不能将C++关键字用作名称。

    5. 以两个下划线或下划线和大写字母打头的名称被保留给实现(编译器及其适用的资源)使用。以一个下划线开头的名称被保留给实现,用作全局标识符,如_time_stop。全局名称指的是名称被声明的位置。

    6. C++对于名称的长度没有限制,名称中所有的字符都有意义,但有些平台会有长度限制。

  • 变量命名方案

    如果想用两个或更多的单词组成一个名称,通常的做法是用下划线字符将单词分开,如my_onions;或者从第二个单词开始将每个单词的第一个字母大写,如myEyeTooth

    添加描述变量类型或内容的前缀,如intMyWeight。常用前缀:str或sz - 表示以空字符结束的字符串;b - 表示布尔值;p - 表示指针;c - 表示单个字符。

  • C++基本整型

    宽度(width)用于描述存储整数时使用的内存量。使用的内存越多,则越宽。按宽度递增的顺序:char、short、int、long和long long。每种类型都有符号版本(可表示正值和负值)和无符号版本(不能表示负值)。

    C++的short、int、long和long long类型通过使用不同数目的位来存储值,最多能够表示4中不同的整数宽度。

    short、int、long和long long均是符号类型,可表示正值和负值

  • 位与字节

    计算机内存的基本单元是位(bit)。可以将位看作电子开关,关表示值0,开表示值1,每一位都有两种设置

    字节(byte)通常指的是8位的内存单元。字节是描述计算机内存量的度量单位,1KB=1024字节,1MB=1024KB。

  • 运算符sizeof():返回类型或变量的长度,单位为字节。如sizeof(int),sizeof n_short。

  • 头文件climits:定义了表示各种类型限制的符号常量名称。

  • 初始化将赋值与声明合并在一起

    可以使用字面值常量初始化,也可以将变量初始化为另一个变量,条件是后者已经定义过。如int n_int = INT_MAX;。

    如果知道变量的初始值应该是什么,则应对它进行初始化。

    C++可将大括号初始化器用于任何类型,包括数组和结构,也可用于单值。采用此种方法时,可以省略等号。如int emus {7}或int rheas = {12}。其次,大括号内可以不包含任何东西,此时变量将被初始化为零。如int rocs = {};。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多