#include #include #include using namespace std; string FloatToBinary(double num); double BinaryToFloat(string binary) ; int main() { for(int i = 2; i < 10; ++i) { double num = 1/ static_cast(i); string binaryRep = FloatToBinary(num); cout << num << " = " << binaryRep << "_2 = " << BinaryToFloat(binaryRep) << endl; } return 0; } double BinaryToFloat(string binary) { double num{0}; double pow {1/2.0}; for(size_t i = 1; i < binary.length(); ++i) { if (binary[i] == '1') { num += pow; } pow /= 2.0; } return num; } string FloatToBinary(double num){ char digit; string binaryString{"."}; while (num > 0) { num *= 2.0; if (num >= 1.0) { digit = '1'; num -=1.0; } else { digit = '0'; } binaryString += digit; } if (binaryString.length() == 1) { binaryString = "0"; } return binaryString; }