printing double in binary
Posted
by Happy Mittal
on Stack Overflow
See other posts from Stack Overflow
or by Happy Mittal
Published on 2010-05-02T17:45:42Z
Indexed on
2010/05/02
17:47 UTC
Read the original article
Hit count: 223
In Thinking in C++ by Bruce eckel, there is a program given to print a double value
in binary.(Chapter 3, page no. 189)
int main(int argc, char* argv[])
{
if(argc != 2)
{
cout << "Must provide a number" << endl;
exit(1);
}
double d = atof(argv[1]);
unsigned char* cp = reinterpret_cast<unsigned char*>(&d);
for(int i = sizeof(double); i > 0 ; i -= 2)
{
printBinary(cp[i-1]);
printBinary(cp[i]);
}
}
Here while printing cp[i] when i=8(assuming double is of 8 bytes), wouldn't it be undefined behaviour?
I mean this code doesn't work as it doesn't print cp[0].
© Stack Overflow or respective owner