C 中,浮點型字面值3 14L這種寫法為什麼是對的3 14UL 1024F為什麼是錯的

時間 2021-08-11 18:17:34

1樓:匿名使用者

字面值的字尾都是有標準的,

末尾的l指long, 用在整數上就是 long型,用在符點上就是 long double

末尾的u指unsigned, 浮點是沒有無符號型別的,所以3.14ul是錯誤的

末尾的f指float,不能用來修飾整數,只能用來修飾小數。

請注意字面的修飾還有字首的,意義會不同。具體用法可參見msdn中關於字面值的規定。

c++的0x 11新標準還支援建立自己的字尾符。

2樓:小浣熊快遞

研究過多用法沒有意義,按照標準來吧,有些東西涉及到細節問題沒有必要深究。3.14l為什麼可以我不清楚,也許沒有歧義就可以,至於ul我沒有記得有這個用法,我就記得一個數是不是有符號是在型別中確定的,比如 signed int 或者 unsigned int.

至於1024f 大概涉及到十六進位制, 再至於1024.0f,大概涉及到解析的優先度,這些東西弄清楚了沒有任何意義,除非你已經是大神了否則也弄不清楚。弄清楚稀奇古怪的東西並不重要,重要的是先把標準的用好了再說別的。

3樓:

1、3.14l 編譯器認為這是個 long double 型別,這是長精度浮點型

2、浮點型沒有無符號的

3、1024後面加f 編譯器無法識別認為是非法的字尾 說明f不能用在整型後面

4、1024.00 後面可以加f f是用來修飾浮點型 說明 浮點型是雙精度 還是單精度的 這個不能用來說明整型 1024.00 編譯器預設為雙精度的

c語言中整型,字元型,浮點型,和雙精度浮點型,詳解

整型,計算機中的一個基本的專業術語,指沒有小數部分的資料。整型可以用十進位制,十六進位制或八進位制符號指定,前面可以加上可選的符號 或者 包括整型常量和整型變數,整型變數又包括短整型 基本整型 長整型,它們都分為有符號和無符號兩種版本,是一種智慧的計算方式。字元型量包括字元常量和字元變數。字串常量由...

關於c語言浮點數問題,c語言關於浮點型資料範圍的問題

標準c語言支援的浮點數符合ieee格式,是二進位制浮點數,並不是一個位元組存放一個十進位制小數位的。關於ieee浮點數,可以參考這裡 至於這裡的輸出問題,如ls所說,是printf預設輸出問題。如果使用 f和 lf格式控制符輸出浮點數,預設輸出保留6位十進位制小數,自動四捨五入。用 nf可以控制輸出...

微控制器除法運算,微控制器中C語言如何實現浮點除法運算

如果直接用c程式寫,那就沒必要考慮除法的細節了,比如unsigned int a,b,c a 0x3456 b 0x1040 c a b 如果你想用匯編搞定,那沒辦法,老老實實的寫或者網上 書上 找這樣的程式,肯定能找到的。不過我可以說一下演算法,那就是相減,被除數連續不斷的減去除數,直到差小於除數...