feat(ex03): it works

This commit is contained in:
Khaïs COLIN 2025-05-15 10:55:59 +02:00
parent 6f17e2e888
commit b4f48cdfb0
Signed by: logistic-bot
SSH key fingerprint: SHA256:RlpiqKeXpcPFZZ4y9Ou4xi2M8OhRJovIwDlbCaMsuAo
8 changed files with 322 additions and 0 deletions

53
ex03/Fixed.hpp Normal file
View file

@ -0,0 +1,53 @@
#ifndef FIXED_HPP
#define FIXED_HPP
#include <iostream>
class Fixed {
public:
Fixed();
Fixed(const int val);
Fixed(const float val);
Fixed(const Fixed &other);
Fixed &operator=(const Fixed &other);
~Fixed();
int getRawBits(void) const;
void setRawBits(int const raw);
float toFloat(void) const;
int toInt(void) const;
std::string toBin(void) const;
bool operator>(const Fixed &other) const;
bool operator<(const Fixed &other) const;
bool operator>=(const Fixed &other) const;
bool operator<=(const Fixed &other) const;
bool operator==(const Fixed &other) const;
bool operator!=(const Fixed &other) const;
const Fixed operator+(const Fixed &other) const;
const Fixed operator-(const Fixed &other) const;
const Fixed operator*(const Fixed &other) const;
const Fixed operator/(const Fixed &other) const;
Fixed operator++();
Fixed operator--();
Fixed operator++(int);
Fixed operator--(int);
static Fixed &min(Fixed &left, Fixed &right);
static const Fixed &min(const Fixed &left, const Fixed &right);
static Fixed &max(Fixed &left, Fixed &right);
static const Fixed &max(const Fixed &left, const Fixed &right);
Fixed abs() const;
friend std::ostream &operator<<(std::ostream &stream, const Fixed &fixed);
private:
int value;
static const int fracbits;
};
#endif