C++11 Java基本數據類型以及轉換


寫在前面:

  母語是Java,后來學了C++11,這兩個語言的基本數據類型隱式轉換不太一樣,有點暈,整理一下

  整理自網絡和書籍,標明出處

 

 


 

C++

基本數據類型

——http://www.cnblogs.com/wangduo/

  整型

  • (signed) int

      格式說明符:d

      簡寫:int,long,signed

      4 個字節,32 位,取值范圍:-231~231-1

  • unsigned int

      格式說明符:u

      簡寫:unsigned

      4 個字節,32 位,取值范圍:0~232-1

  • (signedshort int

      格式說明符:hd

      簡寫:short

      2 個字節,16 位,取值范圍:-215~215-1

  • unsigned short int

      格式說明符:hu

      2 個字節,16 位,取值范圍:0~216-1

  • (signed) long int

      格式說明符:ld

      不同的平台有不同的規定

      一些是4字節,一些是8字節

  • unsigned long int

      格式說明符:lu

      不同的平台有不同的規定

      一些是4字節,一些是8字節

  • (signedlong long int

      格式說明符:lld

      簡寫:long long

      8 個字節,64 位,取值范圍:-263~263 -1

  • unsigned long long int

      格式說明符:llu

      8 個字節,64 位,取值范圍:0~264 -1

  浮點型

  • float

      格式說明符:f

      4 個字節,32 位,取值范圍:3.4*10-38~3.4*1038

  雙浮點型

  • double

      格式說明符:lf

      8 個字節,64 位,取值范圍:1.7*10-308~1.7*10308

  • long double

      格式說明符:lf

      C標准沒有詳細規定,只說了sizeof(long double)>=sizeof(double)

  字符型

  • char

      格式說明符:c

      如果將中文存儲在char中,會導致溢出而出現不可預期的字符如亂碼,見[◹]字符集編碼

      1 個字節,8位,取值范圍:0~28-1

  • wchar_t

      不同的C或C++庫有不同的規定

      4 或 8 個字節,16位或32位,取值范圍:0~216-1 或 0~232-1

  字符串型

  • string

      格式說明符:s

      C++引入的string 類類型

      依據平台和編譯選項的不同,最大容量會有變化

      大部分32位環境或者系統中,最大容量是0~232-1

  布爾型

  • bool

      格式說明符:沒有!別亂用,小心某些平台爆炸

      1個字節,取 0 或 1

 

隱式轉換

  在混合類型運算,賦值,傳參,返回時,會發生隱式轉換

  基本原則:低精度 –> 高精度

不知道圖是誰做的,都傳糊了

 

——http://www.runoob.com/cplusplus/cpp-data-types.html

——《信息學奧賽一本通》

 


 

Java

基本數據類型

  • byte

    1 個字節,8 位,取值范圍:-128~127

  • short

    2 個字節,16 位,取值范圍:-2^15~2^15-1

  • int

    4 個字節,32 位,   取值范圍:-2^31~2^31-1

  • long

    8 個字節,64 位,取值范圍:-2^63~2^63 -1

  • float

    4 個字節,取值范圍:-3.403E38~3.403E38

  • double

    8 個字節,取值范圍:-1.798E308~1.798E308

  • char

    在java中,字符天然就是unicode表示,所以char就天然的可以保持人類理解的char

    2 個字節,16位,取值范圍:0~216-1

  • String

    在java的api中定義為char數組的形式

    依據平台和編譯選項的不同,最大容量會有變化

    大部分32位環境或者系統中,最大容量是0~232-1

  • boolean

    1個字節,取 true 或 false

不支持Unsigned無符號數據類型,但可以輕而易舉的完成Unsigned轉換

 

隱式轉換

  在混合類型運算,賦值,傳參,返回時,會發生隱式轉換

  基本原則:低精度 –> 高精度

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM