# C++_型別(資料型態) 原始內建型別 - C++定義了一組原始型別,包含**算數型別**以及一個特殊型別**void**。 **void**型別沒有關聯的值,而且只能用在少數幾種情形, 最常用作**不回傳值的函式之回傳型別**(之後寫函式會提到) --- 算數型別 - 算數型別可以分成兩類: **1.整數值型別(包含字元和boolean型別) 2.浮點數型別** 在 C++ 中,算術型別可以用於進行各種**算術**運算, 包括**加、減、乘、除、模、自增、自減**等。 此外,算術型別也可以用於進行**比較**運算, 例如**等於、不等於、大於、小於、大於等於、小於等於**等。 | 型別 | 意義 | Bytes(位元組) | 範圍 | | ----------- | ------------------------------ | ------------- | --- | | bool | boolean值 | 1 | (true)和(false) | | char | 字元 | 1 | -128到127 | | short | 短整數 | 2 | -32768 到 32767 | | int | 整數 | 4 | -2147483648 到 2147483647 | | long | 長整數 | 4 | -2147483648 到 2147483647 | | long long | 長整數 | 8 | -9223372036854775808 到 9223372036854775807 | | float | 單精度(single-precision)浮點數 | 4 | 約 -3.402823e+38 到 3.402823e+38 | | double | 雙精度(double-precision)浮點數 | 8 | 約 -1.797693e+308 到 1.797693e+308 | 還有很多,之後會提到 如果值超過最大的整數表示,編譯器會產生錯誤。 所以為了避免編譯錯誤,我們應該選擇合適的型別來表示我們的數值。 如果我們知道數值可能超過某個型別的最大表示範圍,則應該選擇更大的型別。 例如,32 位元的 int 型別的最大表示範圍為 2147483647(十進位制)。 如果一個值超過 2147483647,則在編譯時會產生錯誤。 signed, unsigned - 你可能看過像是**signed int、unsigned int**等等的型別, 其實就只是數值的範圍等等的會被限制而已,目前還不會提到, 如果有興趣,可以點一下連結。 > 終界傳送門:the end? (這是外面找的,我還在努裡趕工中) 整數限制:https://learn.microsoft.com/zh-tw/cpp/cpp/integer-limits?view=msvc-170 浮點數限制:https://learn.microsoft.com/zh-tw/cpp/cpp/floating-limits?view=msvc-170