X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Ftests%2Frepr.cpp;fp=src%2Ftests%2Frepr.cpp;h=26ed668650057774583f2bc9add93d64d4ad83b7;hp=0000000000000000000000000000000000000000;hb=c0f947a6ce10a329eec81e4df820ac52f7ab371f;hpb=79d61ba24ac2d29cea6e7f1fee2f83705c5fb4ac diff --git a/src/tests/repr.cpp b/src/tests/repr.cpp new file mode 100644 index 0000000..26ed668 --- /dev/null +++ b/src/tests/repr.cpp @@ -0,0 +1,33 @@ +#include "main.h" + +#include + +using namespace std; + + + +int main(int argc, char ** argv) +{ + char buffer[BUFSIZ]; + double input; + printf("Enter a double: "); + fgets(buffer, BUFSIZ, stdin); + sscanf(buffer, "%lf", &input); + + + float f = (float)(input); + + unsigned long long i; + memcpy(&i, &f, 4); + bitset<32> b32(i); + memcpy(&i, &input, 8); + bitset<64> b64(i); + + printf("\nAs float: %s\n", b32.to_string().c_str()); + printf("\nAs double: %s\n", b64.to_string().c_str()); + #ifdef REAL_BITSET + Real r(input); + printf("\nAs real: %s\n", r.repr.to_string().c_str()); + #endif //REAL_BITSET + +}