21xrx.com
2024-11-25 05:07:33 Monday
登录
文章检索 我的文章 写文章
C++实现分数表示
2023-06-27 17:27:33 深夜i     --     --
C++ 分数 实现 表示

在计算机科学中,分数是一个常见的数值类型。在C++中,我们可以使用自定义类型来实现分数表示。具体实现方法如下:

首先,我们需要创建一个Fraction类,它可以存储分子和分母,并提供一些基本的算术操作。代码如下:


class Fraction {

public:

  Fraction(int numerator, int denominator)

    m_numerator = numerator;

    m_denominator = denominator;

  

  Fraction operator+(const Fraction& other) const {

    int numerator = m_numerator * other.m_denominator + other.m_numerator * m_denominator;

    int denominator = m_denominator * other.m_denominator;

    return Fraction(numerator, denominator);

  }

  Fraction operator-(const Fraction& other) const {

    int numerator = m_numerator * other.m_denominator - other.m_numerator * m_denominator;

    int denominator = m_denominator * other.m_denominator;

    return Fraction(numerator, denominator);

  }

  Fraction operator*(const Fraction& other) const {

    int numerator = m_numerator * other.m_numerator;

    int denominator = m_denominator * other.m_denominator;

    return Fraction(numerator, denominator);

  }

  Fraction operator/(const Fraction& other) const {

    int numerator = m_numerator * other.m_denominator;

    int denominator = m_denominator * other.m_numerator;

    return Fraction(numerator, denominator);

  }

  void print() const

    std::cout << m_numerator << "/" << m_denominator;

  

private:

  int m_numerator;

  int m_denominator;

};

可以看到,我们定义了加(+)、减(-)、乘(*)和除(/)操作,以及打印(print)分数的函数。这些操作通过分数的四则运算公式进行定义。例如,加法操作将两个分数的分子乘以对方的分母,然后相加,并将分母设置为两个分母的乘积。

接下来,我们可以使用这个Fraction类来进行分数计算,例如:


int main() {

  Fraction a(1, 2);

  Fraction b(1, 3);

  Fraction c = a + b;

  Fraction d = a * b;

  c.print(); // 输出 5/6

  d.print(); // 输出 1/6

  return 0;

}

在这个例子中,我们创建了两个分数a和b,然后将它们相加和相乘,并将结果存储在分数c和d中。最后,我们打印了这两个分数的值。

总结来说,使用C++实现分数可以帮助我们更方便地进行分数计算,并且可以使用自定义类型和运算符重载来实现。通过这些技术,我们可以轻松地将分数的算术运算转换为计算机上的操作,从而更有效地处理数值计算。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复