java數(shù)據(jù)類型的轉(zhuǎn)換 C語言的數(shù)據(jù)類型分為幾種?
C語言的數(shù)據(jù)類型分為幾種?您好!short、int、long、char、float、double 這六個關(guān)鍵字代表C 語言里的六種基本數(shù)據(jù)類型。在不同的系統(tǒng)上,這些類型占據(jù)的字節(jié)長度是不同的:在32
C語言的數(shù)據(jù)類型分為幾種?
您好!
short、int、long、char、float、double 這六個關(guān)鍵字代表C 語言里的六種基本數(shù)據(jù)類型。
在不同的系統(tǒng)上,這些類型占據(jù)的字節(jié)長度是不同的:
在32 位的系統(tǒng)上
short 占據(jù)的內(nèi)存大小是2 個byte;
int占據(jù)的內(nèi)存大小是4 個byte;
long占據(jù)的內(nèi)存大小是4 個byte;
float占據(jù)的內(nèi)存大小是4 個byte;
double占據(jù)的內(nèi)存大小是8 個byte;
char占據(jù)的內(nèi)存大小是1個byte。
具體可以用sizeof測試一下即可。
在C語言中不同的數(shù)據(jù)類型之間是如何轉(zhuǎn)換的,不同的數(shù)據(jù)類型是怎樣計算的?
在C語言中,不同數(shù)據(jù)類型在進行運算時首先要轉(zhuǎn)換成同一類型,一種是自動轉(zhuǎn)換,二是強制轉(zhuǎn)換,如(int)a 將a強制轉(zhuǎn)換為int型 轉(zhuǎn)換原則:箭頭是轉(zhuǎn)換方向 char,short->int->unsigned->long,float->double 說這個題之前要接受一個事實:不同計算機上運行此程序結(jié)果會不一樣,原因和你是好多位計算機有關(guān)系,在很多書上int占兩個字節(jié),而在有些計算機卻占4個字節(jié),具體是好多你可以用sizeof(int)測試一下,那我的計算機就占4個字節(jié),現(xiàn)在再看題:c=x a x為長整型a為整型,運算之前先將a自動轉(zhuǎn)換為長整型,x=-5,計算機存儲為0FFFFFFFBh,a=3,x a=0FFFFFFFEh 輸出格式是%u 也就是以十進制無符號形式輸出,結(jié)果為4294967294而不是65534。
d=y b,a=3就不用多說明了,最后用%f輸出單精度或雙精度浮點數(shù),其默認為6位小數(shù),要想控制顯示位數(shù)用%m.nf,具體看看書哈
進行強制類型轉(zhuǎn)換可能會造成數(shù)據(jù)信息的丟失。如,長整型的數(shù)據(jù)轉(zhuǎn)換為float型,誰能具體舉個例子↓?
整數(shù)類型向浮點型轉(zhuǎn)型類型選擇不當會出現(xiàn)精度損失。
當一個長整型數(shù)轉(zhuǎn)換為單精度浮點型時會出現(xiàn)精度損失。
當一個長整型數(shù)轉(zhuǎn)換為雙精度浮點型時不會出現(xiàn)精度損失。
是否需要強制轉(zhuǎn)換是依據(jù)不同編程語言有不同的。
強制類型轉(zhuǎn)換,當操作數(shù)的類型不同,而且不屬于基本數(shù)據(jù)類型時,經(jīng)常需要將操作數(shù)轉(zhuǎn)化為所需要的類型,這個過程即為強制類型轉(zhuǎn)換。強制類型轉(zhuǎn)換具有兩種形式:顯式強制轉(zhuǎn)換和隱式強制類型轉(zhuǎn)換。
在賦值運算中,賦值號兩邊量的數(shù)據(jù)類型不同時,賦值號右邊量的類型將轉(zhuǎn)換為左邊量的類型。如果右邊量的數(shù)據(jù)類型長度比左邊長時,將丟失一部分數(shù)據(jù),這樣會降低精度,丟失的部分直接舍去。
c語言中,請問字符9可以與整數(shù)9直接相乘嗎?
很高興來回答這個問題。
先說結(jié)論:c語言中,字符9是可以與整數(shù)9直接相乘的,得到的結(jié)果是513.
1 為什么字符9可以與整數(shù)9相乘?
首先我們要明白字符在內(nèi)存當中是以什么樣的形式存儲的。在計算機當中,字符都是以它對應(yīng)的ASCII碼表示(美國信息交換標準代碼),而ASCII碼不管用什么進制表示,它最終表示的是一個整數(shù)。如‘9’,它的ASCII碼值用十進制表示為57。所以,看上去是字符9在做相乘,實質(zhì)上是用它的ASCII碼值在做相乘。
2 字符9與整數(shù)9是如何相乘的?
表達式:‘9’*9,在C語言中如何運算的呢。
乘運算符是雙目遠算符,也就是要求有兩個操作數(shù),如上圖如示,操作數(shù)1和操作數(shù)2。在計算前,要求兩個操作數(shù)的類型要保持一致,而現(xiàn)在操作數(shù)1是字符型,而操作數(shù)2是整型(默認為int型),兩個操作數(shù)類型并不一致,所以需要進行類型轉(zhuǎn)換。
在C語言當中,數(shù)據(jù)類型轉(zhuǎn)換有兩種:其一,自動類型轉(zhuǎn)換;其二,強制類型轉(zhuǎn)換。在這里在,它會使用自動類型轉(zhuǎn)換,可以理解為是C系統(tǒng)當中自動完成的,不需要程序員參與的。根據(jù)自動類型的轉(zhuǎn)換原則,字符型會自動轉(zhuǎn)為int型,而‘9’轉(zhuǎn)換為int型,就是取它的ASCII碼值:57。
完成轉(zhuǎn)換以后,就用57*9,答案自然是513。
以上,就是進階君對于這個問題的回答。