1樓:匿名使用者
在c語言中bai,不同資料型別在進du行運算時首zhi先要轉換成同一型別,一dao種是自動轉換,回二是強制轉換,如答(int)a 將a強制轉換為int型
轉換原則:箭頭是轉換方向 char,short->int->unsigned->long,float->double
說這個題之前要接受一個事實:不同計算機上執行此程式結果會不一樣,原因和你是好多位計算機有關係,在很多書上int佔兩個位元組,而在有些計算機卻佔4個位元組,具體是好多你可以用sizeof(int)測試一下,那我的計算機就佔4個位元組,現在再看題:c=x+a x為長整型a為整型,運算之前先將a自動轉換為長整型,x=-5,計算機儲存為0fffffffbh,a=3,x+a=0fffffffeh 輸出格式是%u 也就是以十進位制無符號形式輸出,結果為4294967294而不是65534。
d=y+b,a=3就不用多說明了,最後用%f輸出單精度或雙精度浮點數,其預設為6位小數,要想控制顯示位數用%m.nf,具體看看書哈
在c語言中不同的資料型別之間是如何轉換的 不同的資料型別是怎樣計算的
2樓:手機使用者
在c語言中,不同資料型別在進行運算時首先要轉換成同一型別,一種是自動轉換,二是強制轉換,如(int)a 將a強制轉換為int型 轉換原則:箭頭是轉換方向 char,short->int->unsigned->long,float->double 說這個題之前要接受一個事實:不同計算機上執行此程式結果會不一樣,原因和你是好多位計算機有關係,在很多書上int佔兩個位元組,而在有些計算機卻佔4個位元組,具體是好多你可以用sizeof(int)測試一下,那我的計算機就佔4個位元組,現在再看題:
c=x+a x為長整型a為整型,運算之前先將a自動轉換為長整型,x=-5,計算機儲存為0fffffffbh,a=3,x+a=0fffffffeh 輸出格式是%u 也就是以十進位制無符號形式輸出,結果為4294967294而不是65534。d=y+b,a=3就不用多說明了,最後用%f輸出單精度或雙精度浮點數,其預設為6位小數,要想控制顯示位數用%m.nf,具體看看書哈
c語言中不同資料型別的相互轉化怎麼做?
3樓:物理公司的
在c語言中,不同資料型別在進行運算時首先要轉換成同一型別,一種是自動轉換,二是強制轉換,如(int)a 將a強制轉換為int型
轉換原則:箭頭是轉換方向 char,short->int->unsigned->long,float->double
說這個題之前要接受一個事實:不同計算機上執行此程式結果會不一樣,原因和你是好多位計算機有關係,在很多書上int佔兩個位元組,而在有些計算機卻佔4個位元組,具體是好多你可以用sizeof(int)測試一下,那我的計算機就佔4個位元組,現在再看題:c=x+a x為長整型a為整型,運算之前先將a自動轉換為長整型,x=-5,計算機儲存為0fffffffbh,a=3,x+a=0fffffffeh 輸出格式是%u 也就是以十進位制無符號形式輸出,結果為4294967294而不是65534。
d=y+b,a=3就不用多說明了,最後用%f輸出單精度或雙精度浮點數,其預設為6位小數,要想控制顯示位數用%m.nf,具體看看書哈
c語言中不同資料型別之間可以相加嗎,如下題
4樓:匿名使用者
可以。進行運算的時候,進行「隱式型別」轉換,把int型轉換成double再做運算的。這個過程是編譯器自己進行的,所以稱為隱式型別轉換。
5樓:匿名使用者
整型和浮點型運算,整型自動轉化為浮點,然後和浮點數進行運算。
c語言不同資料型別怎麼轉換成同一資料型別的
6樓:
大概有三種bai
情況:1.表示式du中有幾種可計算zhi
型別時,自動向dao「高」看齊,即自動把位數回少的型別通答過填加無效0而達到表示式中位數最多的型別,計算結果也是「高」型別。這種轉換不需程式設計師干預,也不損失資料。
2.通過賦值自動轉換,即自動將右邊表示式計算結果的型別轉換為表示式左邊變數的型別。這種轉換也無需程式設計師干預,但若右邊的型別「高」於左邊的型別則要丟失資料,比如int n=3.
999999,其n的值最後是3,不作「四捨五入」處理。反之,「低」型別賦給「高」型別時不丟失資料。
3.運算中強制轉換,當表示式中需要對某變數的型別作臨時變更時採用這種方式,需要人式干預。如:
double pi=3.1415925,臨時只需pi的整數部分時可以(int)pi這樣表達,雖然pi的值不變仍為3.1415925,但做運算時只取pi的整數部分3。
例如:double c=pi-(int)pi,則n=0.1415925。
供參考,希望有幫助。
7樓:匿名使用者
強制型別轉換就行了 如果long i 強制轉換成正整型(int)i
c語言不同型別變數間的運算結果
8樓:董俊錕
double 型
系統有預設的轉化規則,就是從精度底的轉化為精度高的,避免計算時精度的丟失回
具體轉換規則如下答
char --> short --> int ---> unsigned --> long --> unsigned long --> float --> double
c語言中不同資料型別的資料在運算時採用的規則有哪些?
9樓:匿名使用者
不同資料型別之bai
間的轉換
有du2種方式:隱式轉換和顯zhi式轉換dao。
隱式轉換指的是默
專認做的一些轉換式,比如屬整形和實型做混合運算(這裡我說的運算是合法的運算,不會是取餘這樣對運算元有資料型別要求的運算),得到的結果是自動由精度低的或佔位數低的資料型別向高的資料型別做轉換,也就是上述問題得到的結果是實型。
顯示轉換:指的是使用強制型別轉換運算子來進行強制的結果型別轉換,這是人為的得到想要的型別的一種方法。
你所描述的不同資料型別的資料在運算時,採取的多是隱式轉換。
c語言中資料型別的轉換
include stdio.h main 輸出的資料型別不匹配 給你舉個例子吧 j i 實際j值和i一樣 j i,實際j值比i大一 你還沒明白 i 注意它是在i使用後自動加一printf d i 這是兩句命令,執行完i 後才輸出,i值自然 1 j 它是在使用前加一 printf d j 也是兩句命令...
C 有多少種基本資料型別,C 語言中基本資料型別包括哪些?
c語言包含5個基本數 bai據類du型 void,int,float,double,和 char.c 定義了另外兩個基zhi本資料型別 bool 和 wchar t.一些dao 基本資料型別能夠被專 signed,unsigned,short,和 long 修飾屬 所以short,long等等都不算...
關於C語言不同資料型別的數混合運算的問題
你的 s 1 n是取整運算吧,1 2的整數部分當然是0了。而且你輸出時浮點型資料,所以s結果是0.00000 不能,會自動轉化,將s 1 n,改為s 1.0 n c語言 不同資料型別間的混合運算 c語言裡 不同資料型別間的混合運算會強制轉換的 如6.0 5 結果必然向float型轉換 比如char ...