C语言/C++ 中除法得到结果的精度问题(有浮点数参与除法,结果就是浮点数,除数和被除数都是整数,结果默认是整数)
生活随笔
收集整理的這篇文章主要介紹了
C语言/C++ 中除法得到结果的精度问题(有浮点数参与除法,结果就是浮点数,除数和被除数都是整数,结果默认是整数)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
總結:
1.當除數或者被除數之一(只要有一個)是浮點數(或double),進行的就是浮點數除法,會把另一個除數或者被除數轉換為精度更高的進行除法(例如int轉為float,float轉為double)結果為浮點數(或double)
例如float/int 或者int/float,結果都是float
2.當除數和被除數都是int類型時,即使結果定義為float類型,顯示的結果值也是整數
驗證的小例子:
#include<iostream> using namespace std; int main() {//int a1=6,int b1=4;int a1=6, b1=4;float a2=6.0,b2=4.0;int c1;float c2;float c3;float c4;float c5;c1=a1/b1; //結果:1c2=a1/b1; //1c3=a2/b2; //1.5c4=a1/b2; //1.5c5=a2/b1; //1.5cout<<"c1="<<c1<<" c2="<<c2<<" c3="<<c3<<" c4="<<c4<<" c5="<<c5<<endl;}有錯誤之處歡迎指出,一起學習!
總結
以上是生活随笔為你收集整理的C语言/C++ 中除法得到结果的精度问题(有浮点数参与除法,结果就是浮点数,除数和被除数都是整数,结果默认是整数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenGL中的着色模式GL_SMOOT
- 下一篇: OpenGL透视投影函数gluPersp