c語言中 union的問題,int i賦初值,輸出k

2021-12-25 19:03:58 字數 1037 閱讀 2722

1樓:凌雲小紫冥

int和long一樣都是4個位元組,所以s->k取的就是i[0]的值。

printf("%c\n",s->c[0]) 算出是9和大小端有關,只有小端才是9。就是ansi char '9',換成十六進位制就是39。char[0]取了i[0]的低八位。

大一c語言考試題(急)

c語言中,浮點型別和整數型別的區別具體在哪些方面?

2樓:熱門**點映牆

1、包含型別方面的區別:

整數型別包含byte型、int型、short型、long型, 浮點型別包含float(單精度)型、double常量

2、取值範圍的區別:我們可以看到整數型別最大的取值是:1,844,674,407,370,955,161,共有19位數。

而浮點數中float的取值範圍就有39位數3.4e+38。

3、精度的區別:整數型別是一個準確的數值,而浮點數很多時候是一個看似值。比如float型別就只用確保前面6~7位是準確的。

如:float f = 123456789; //8和9這兩個數值就可能是不準確的。

3樓:天寂無痕

整數與浮點數兩者的儲存方式不一樣,整數是直接以二進位制形式進行儲存,對於浮點數,需要將小數部分和指數部分分開儲存。兩者之間的區別還有如下:

1、整數沒有小數部分,浮點數有小數部分;

2、浮點數可以表示的範圍比整數大;

3、對於一些算術運算(兩個很大的數相減),浮點數損失的精度更多;

4、在任何區間內都存在著無數個實數,所以計算機的浮點數不能表示區間內的所有值,通常只是實際值的近似值;

5、過去,浮點運算比整數運算慢,不過,有了浮點處理器,速度上的差距有了一定的縮小。

4樓:

浮點和整數在相同字長的情況下,浮點表示數的範圍大的多,但以損失精度為代價

浮點可以表示小數,整數不行

一些基本的數學庫函式很多引數需要浮點比如sin cos tan exp等

c語言中有符號型別的int範圍,C語言中 有符號型別的int範圍( 128 127)是怎麼求出來的,特別是 128 怎麼理解 負數用二進位制怎麼表示

恩!首先要指出你的一個錯誤!int的範圍不是 128 127 這個是char的範圍,範圍的大小是由型別所佔有的位元組來決定的。如此所示 char是一個位元組8bit,那麼在二進位制中,8bit最大值是255,最小值是0 在是在無符號時 如果是有符號的話.那麼就還有一位是符號為,最高位是符號為。例如 ...

C語言關於int變成float,C語言中如何實現將一個浮點數float轉成int型別?

定義的資料型別不一樣!int和float的資料寬度都不一樣!要麼就強制轉換!但是強制轉換也會出錯!因為int不能強制轉換成float float的位寬比int長 程式裡你定義a是整型,輸出的卻是浮點型,相矛盾 我藉助csdn上一文章告訴 你 printf不會關心你輸入的引數的型別,你輸入的實際是 p...

c語言中的clock 問題,c語言中的問題?

就是while clock now 的意思,注意後面還有個分號,這是一個空迴圈。因為clock會返回當前時間,now是一個過去的時刻,所以這個條件的意思是 當前時間比那個時刻晚的多少小於clocks per sec,也就是如果時間相差還不到clocks per sec就一直迴圈。因此這個迴圈的意思就...