1樓:浪子荊
int型是整數,作為結果輸出也只能是整數 如果是個小數,它會自動把小數位拋棄的。。float就可以是小數了。。。
2樓:匿名使用者
不是精度的問題,是這一句的原因 s=s+a/b;
int 型的 a/b 得到的是整型;float 型的 a/b 得到的浮點型;
比如說,a = 3,b = 2;
int 型得到的是1,float得到的是1.5;
3樓:張飛
int和float首先明白其本質是資料型別,何為資料型別,其實其名字就告訴我們,像我們學習時喜歡把整數和小數分開一樣,這裡的int是整數型別,float是浮點數(小數型別)。這不就是倆種資料型別
那麼為什麼要區分那,主要原因是計算機在儲存資料時分配的記憶體空間是不同的,你定義了int(整型)它就分配對應整型的大小,比如4個記憶體單元。
那麼我為什麼要說比如是4個記憶體單元那,原因是不同的cpu分配記憶體是不一樣的,32位cpu分配的int就是4個位元組,至於為什麼如此,這是硬體設計時決定的(32位/8=4位元組)(不理解跳過)
綜上所述,你應該明白你定義的每一個變數都會分配一塊記憶體,並且分配記憶體的大小是取決於你的資料型別的。
4樓:匿名使用者
int 非常不精確導致
c語言程式int和float
5樓:匿名使用者
#include
#include
int main()
6樓:polaris北斗
把int改為float的同時把"%d″要改為"%f",你改了嗎?
7樓:摩雁易
int的範圍是-32768 - +32767,int是定點數,沒有有效數字的概念
另外是\n,表示\n表示換行
c語言中float與int用法有什麼區別???
8樓:匿名使用者
樓主問復的是用法的區別.
int 是精製確的整數,因此相關的數學常識都可以在int上得到實現;
float 是不精確的浮點數,因此很多要求精確的數學常識在float上不成立.
舉例: 假設 a b c 都是 int
那麼 a+b+c 和 c+b+a 的結果永遠是相等的(哪怕溢位了也相等)
而如果 a b c 都是float,則上面算式是不成立的
兩個的計算結果很可能不一樣(但是誤差為機器0, 在64位上誤差比32位小得多)
也就是 0.4999+0.5001 有可能等於 1 也有可能等於0.99999999999998 或者 1.00000000001
9樓:匿名使用者
float 是用來存小數的
int 是用來存整數的
C語言問題C語言問題,C語言問題C語言問題
include include int main b k p b k 0 puts b return 0 c語言問題c語言問題 include int main int h,m scanf d d h,m printf s num h if m 0 else printf o clock print...
c語言區分int資料正負的問題,C語言區分int資料正負的問題
型別是對一串二進位制位的解釋,這16bit有兩種解釋,有符號整數,有無符號整數。按有符號數來解釋,最高位是符號位,1表示負數,其值為 20840。按無符號數來解釋,值為44696。其實機器是不知道正負的 正負是給編譯器看的 程式編譯的時候正負就已經有區分啦 比如你如果用匯編的話就少了有符號和無符號這...
C語言問題,C語言問題C語言問題
這題考的是自動型別轉換,由編譯系統自動完成,轉換是 向上 靠的 舉個例子 include stdio.h void main 你編譯一下就會有警告 conversion from double to float possible loss of data 也就是說系統預設轉化了a,b的資料型別為do...