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: 259
        
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