1. 程式人生 > 其它 >跟著做的C++20教程-0009-例項8-整型變數彙總

跟著做的C++20教程-0009-例項8-整型變數彙總

技術標籤:跟著做的C++20教程c++

目錄

例項概要

  • char
  • unsigned char
  • short
  • unsigned short
  • int
  • unsigned int
  • long
  • unsigned long
  • long long
  • unsigned long long

例項程式碼

#include <iostream>

int main(int argc, char** argv)
{
	char c = 2;
	unsigned char uc = 2u;
	signed short s = 2;
	unsigned short
us = 2u; signed int i = 2; unsigned int ui = 2; long l = 2L; unsigned long ul = 2uL; long long ll = 2LL; unsigned long long ull = 2uLL; std::cout << "signed char 型變數的位元組數:" << sizeof(c) << std::endl; std::cout << "unsigned char 型變數的位元組數:" <<
sizeof(uc) << std::endl; std::cout << "signed short 型變數的位元組數:" << sizeof(s) << std::endl; std::cout << "unsigned short 型變數的位元組數:" << sizeof(us) << std::endl; std::cout << "signed int 型變數的位元組數:" << sizeof(i) <<
std::endl; std::cout << "unsigned int 型變數的位元組數:" << sizeof(ui) << std::endl; std::cout << "signed long 型變數的位元組數:" << sizeof(l) << std::endl; std::cout << "unsigned long 型變數的位元組數:" << sizeof(ul) << std::endl; std::cout << "signed long long 型變數的位元組數:" << sizeof(ll) << std::endl; std::cout << "unsigned long long 型變數的位元組數:" << sizeof(ull) << std::endl; return 0; }

執行結果

signed char 型變數的位元組數:1
unsigned char 型變數的位元組數:1
signed short 型變數的位元組數:2
unsigned short 型變數的位元組數:2
signed int 型變數的位元組數:4
unsigned int 型變數的位元組數:4
signed long 型變數的位元組數:4
unsigned long 型變數的位元組數:4
signed long long 型變數的位元組數:8
unsigned long long 型變數的位元組數:8

例項解釋

整型變數

例項中列出了所有C++的整型變數,它們分別是:charshortintlonglong long。以及對應的無符號型別unsigned charunsigned shortunsigned intunsigned longunsigned long long。他們之前的不同是位元組數不同。C++標準並沒有規定這些型別的位元組數量是多少,只規定了他們至少要包含的位元組數量:

型別至少包含的位元組數量
char1
short2
int2
long4
long long8

在我的機器上intlong都是4個位元組。

signed

如果型別不使用signed修飾,預設就是有符號數。

數字字尾

在程式碼中如果直接寫數字預設代表的是signed int的值。如例項中2代表的是4個位元組的有符號整型值。如果嚮明確指定數字的型別可以在數字後面加上字尾uU表示無符號數字。如2u表示4個位元組的無符號整型值。L代表long;LL代表long longL可以用小寫,但是不推薦,因為小寫的l在某些字型中很容易跟數字1混淆。