c 入門003 型別轉換

2021-08-07 16:51:57 字數 1312 閱讀 5316

自動轉換型別不是改變原本的變數,而是建立乙個臨時的變數。

c++允許將 a型別的變數 賦值給 b型別的變數,這樣值將轉換為a型別。

long long_num;

short short_num;

long_num=short_num;

這樣將short(16位) 擴充套件為 long(32位)

潛在問題:

轉換 潛在問題

將較大的浮點型轉為較小的浮點型

精度下降,而且值有可能超過後者最大值,使結果不確定

將浮點型轉換為整型

小數點可能丟失,只可能超過後者取值範圍,使結果不確定

將較大的整型轉換為較小的整型

有可能超過最大值,通常取右面的值

int int_num=1.234e5

顯示為12340,而不是10000,代表1.234e5運算前會將自己展開。

0賦給bool時得出false,非零值賦給bool時得出true。

將兩個或幾個運算元變為一樣的型別再進行計算,最後結果進行第一種自動轉換,轉化成目標型別。例:

int w;

float g;

long y=w+g;

先將w轉為float,相加後的結果再轉為long。

if 運算元的型別是long double,則將另乙個數轉換位long double;

else if 。。。。。。。double,。。。。。。。。。。。double;

if 。。。反正就是誰更大就向誰轉換,直到int,int以下的都轉換為int(整數運算元之間的自動轉換稱為 整型提公升)

使用函式時,如果是該引數的形參,應該自動轉換為與形參一至。

注意:強制轉換並不是 改變量值型別,而是創造乙個新的、指定型別的值

強制轉換通用格式:

typename(value)

(typename)value//c使用第二種,c++都行

#includeint main()

{using namespace std;

int auks,bats,coots;

auks=19.99+11.99;

bats=(int)19.99+(int)11.99;

coots=int(19.99)+int(11.99);

cout<<"auks="the code for z is 90

C 入門6 15 型別轉換

型別轉換有三種方式 1.int 2.convert.toint32 3.int.parse 區別 1.處理空值null 2.處理數值時 int 強制轉換不進行四捨五入 3.convert.toint32的引數比較多,int.parse只能轉換string型別的。4.parse就是把string轉換成...

C 入門2 型別轉換

型別轉換 c 有11種整型和3種浮點型別,當對不同的型別進行計算時,c 會自動執行型別的轉換。自動型別轉換 執 況 將一種算數型別賦給另一種算數型別時 表示式中包含不同的型別時 將引數傳遞給函式時 強制型別轉換 1 賦值時進行的轉換 值將被轉換成接受變數的型別。此時將乙個值賦給範圍更大的型別通常不會...

C 入門經典學習5 型別轉換

c 入門經典學習5 型別轉換 隱式轉換 任何型別a,只要其取值範圍完全包含在型別b的取值範圍內,就可以隱式轉換為型別b。顯示轉換 checked unchecked convert 列舉 enum 預設是int 可以指定,可以用 賦值,值可以重複。string轉換為列舉用enum.parse 結構 ...