【问题标题】:Use of integers and floating points整数和浮点数的使用
【发布时间】:2017-06-28 15:13:06
【问题描述】:

当我的所有输入都是整数时,为什么使用 float 而不是 int 会给出不同的结果?

   {

  int a = 17, b = 5;
  int c =  a/b;
  cout<<c;

  }

  {

  float a = 17, b = 5;
  float c;
  c = a/b;
  cout<<c;
  }

【问题讨论】:

  • 它们是应用于不同类型数据的不同操作。为什么它们应该是一样的?任何关于 C 或 C++ 的好书都会解释浮点和整数除法之间的区别。
  • @JohnColeman 你能给我推荐一本关于 C 或 C++ 的好书吗?
  • @vasanths294 对于 C,我喜欢 K.N. 的“C Programming: A Modern Approach”。国王。我对 C++ 没有任何建议。

标签: floating-point int


【解决方案1】:

这与价值无关。即使您为其分配整数值,浮点类型变量也会将其值保留为浮点数。因此,如果您将 17 分配给浮点变量,则您的变量将将此值保存为 17.0 并执行任何操作按浮点运算。

【讨论】:

    【解决方案2】:

    / 运算符执行的除法不同。

    如果都是整数,

    c = a / b; 
    

    会进行整数除法,所以17/5 --&gt; 3

    如果两者都是双打,

    c = a / b;
    

    会进行浮点除法,所以17.0/5.0 --&gt; 3.4

    【讨论】:

      猜你喜欢
      • 2012-02-11
      • 2011-01-04
      • 2017-07-26
      • 2011-01-10
      • 2018-03-22
      • 2023-01-21
      • 2015-01-20
      • 2011-04-20
      • 1970-01-01
      相关资源
      最近更新 更多