tags: tgirc早修book

資料型態

int 的範圍是

231int<231 ,也就是
2,147,483,648int2,147,483,647

當運算的數字超過 int 的範圍時,可使用 long long
可儲存範圍到

2631=9,223,372,036,854,775,807 ,大約是
9×1018

一般常數預設是 int 型態,若要改成 long long 型態時,要在常數後加上 LL

#include <iostream> using namespace std; int main(){ long long num=123456789; //10^10 cout<<"溢位(未加LL) "<<num*2<<"\n"; cout<<"無溢位(有加LL) "<<num*2LL<<"\n"; return 0; }

當運算數字超過範圍時稱作溢位,儘管結果會在範圍中,只要過程出現溢位,最終的答案就會有問題,因此在做運算時要多加小心

如果超過 long long 範圍的話,就要使用大數來解題

關於溢位,有興趣可以參考 -> 補充

unsigned int 是用來宣告正整數,範圍是

0unsigned
int2321

0unsigned
int4,294,967,295

除了 int 宣告常數以外,還有其他種宣告的方式:

  • char:宣告字元,可輸入單個字元,數字無法和常數一樣直接進行運算,以 Ascii 進行轉換
  • string:宣告字串,可輸入一串句子,直到空格換行,與 char 相同皆為文字型態
  • bool:宣告布林值,範圍 0(false)、1(true)
  • float:宣告浮點數,即可使用小數
  • double:宣告倍精度浮點數,比 float 還要精準不少,進行小數的運算時,建議都以此宣告