1樓:匿名使用者
1/3預設int型結果為0,進行強制轉化後仍然為0,只不過是float型,而1.0/3.0預設為float型
2樓:
這個嗎,你是初學者嗎?1/3是取整數,也就是=0,那為什麼小數後面有6個0了,是因為%f輸出的時候預設為6為有效小數。1.
0/3.0是做除法,它的內型定義為為了浮點型,有就是有小數位的。
3樓:你我一樣的天空
注意輸出型別,%f輸出是浮點型,而1/3都是整形,隱式轉換為零,所以輸出0.000000,這裡懂了後面自然就懂了
4樓:
這個嗎,你是初學者嗎?1/3是取整數,也就是=0,主要是也因為1是整數,而1.0是單精度
5樓:匿名使用者
c語言中的整數除法規則是返回結果的整數部分,比如1/3 = 0.3333333 整數部分是0,所以 1/3=04/3 = 1.3333333 整數部分是1,所以 4/3=1而浮點數和double則是返回帶小數部分的結果。
6樓:言言爾爾
printf("%f",1/3)是雙精度的結果,簡單說就是取整。如printf("%f",4/3)輸出的是1.000000,而
printf("%f",1.0/3.0);則是正常計算。
7樓:匿名使用者
rvusonah5 2 f к· ㏄qmrf
szudmi
ckbv
fgzyhqm
abohpwl
[c語言]printf("%f\n",1.0/3*3)與printf("%f\n",1/3*3)計算結果為什麼不同?
8樓:網海1書生
1.0/3*3這是按浮點數進行計算,1.0/3*3=0.333333...*3=1
1/3*3這是按整數進行計算,1/3*3=0*3=0 (1/3的值會先取整,結果為0)
9樓:匿名使用者
1.0/3*3是實型運算,與你學過的數**算是一致的,輸出結果是1.000000
1/3*3是整型運算,1/3=0,0*3=0,輸出結果是0.000000
語句printf(“%f%%,1.0/3”);輸出的值為什麼 怎麼做啊
10樓:匿名使用者
輸出結bai果是0.333333%。
printf("%f%%",1.0/3),其中的%f就是以浮點du數格式輸出1.0/3的結果。由於1.0是浮zhi
點數,dao所以1.0/3也是一個浮點數,答案版就是0.333333,最後二個連續的%%就是實際輸出一個%符號。
11樓:year飛鵬
printf("%f%%",1.0/3);
其中的%f就是以浮點數格式輸出1.0/3的結果。由於1.0是浮點數,所以1.0/3也是一個浮點數,答案就是0.333333最後二個連續的%%就是實際輸出一個%符號。
12樓:胡書培
printf中連續兩個%%表示輸出一個%,0.333333%
13樓:_藍顏_知己
是不是問為什麼是0.3333333而不是1.33333吧 我也是來找答案 剛才突然看明白了 是1.0除以3 而不是1. 0/3
14樓:灰塵緣
說具體點。。。。。。。。。
書上有一個例題1.0/3.0*3.0==1.0,當我用%f輸出時值為1.000000,用%d輸出時值為0,這是為什麼?
15樓:
1.浮點數是用符號位+階碼+尾數原碼錶示的,1.0在記憶體中的二進位制是00111111 11110000 00000000 00000000 00000000 00000000 00000000 00000000。
若按%d即整數就是中取它的最低4個位元組,看這是不是0?
16樓:匿名使用者
這個和精度損失沒有關係關鍵在printf()輸出的時候沒有考慮到資料型別轉換的問題printf("%d",1.0/3.0*3.
0)計算的1.0/3.0*3.
0是浮點數1.0它在記憶體是以這樣的形式儲存的:00111111 11000000 00000000 00000000以4位元組表示而printf()輸出的時候並不以為自己要輸出一個浮點數,而是把上面的後2位元組當成整型來輸出,結果就變成了0 例子:
#include
void main()
結果是0,printf()出錯 #includevoid main()
結果是1,轉換之後沒有損失 浮點數轉整型直接捨去小數,不會四捨五入
17樓:匿名使用者
猜想:因為這個結果應該是雙精度浮點型,但是精度有所損失,估計實際的結果是0.99999什麼的,不是1,用%f輸出四捨五入了,用%d精度損失發生錯誤了。
證明:嘗試printf("%f",0.9999999999999);然後換成%d試試(結果肯定是不對的)
c語言中字元1是什麼意思, C語言中字元 1 是什麼意思?
珈藍惜夢 1 為轉義字元,代表的意思是 標題開始 在c語言中,所有的ascii碼都可以用 加數字 一般是8進位制數字 來表示。而c中定義了一些字母前加 來表示常見的那些不能顯示的ascii字元,如 0,t,n等,就稱為轉義字元,因為後面的字元,都不是它本來的ascii字元意思了。轉義字元是很多程式語...
c語言中,1《n代表什麼意思,C語言中n 1是什麼意思
臨淵羨魚 如下 n 和 n的作用都是讓n自減1,如原先n為5,n 或 n之後n就變為了4。他們的區別在於 n 這個表示式的值是n自減之前的值,如 int n 5 int a n 此時a的值為5 n 這個表示式的值是n自減之後的值,如 int n 5 int a n 此時a的值為4 例如 n 10 k...
計算機c語言中1f什麼意思,c語言中 1f是什麼意思
把精確度比float資料小的資料型別轉換為float型別,以便於下面的運算 這是c語言中輸出格式控制語句。後面接上的內容是控制變數輸出格式的 f 表示 浮點數 6.1f 就是輸出的變數總共佔6列,其中小數佔一列。1f 你用了數字1,不是字母l的小寫.這個1的意思是輸出 入總位數為1位。參考 floa...