0nnn octal notation considered harmful

Jim bitcirkel at yahoo.com
Fri Feb 11 12:13:27 PST 2011


spir Wrote:

> Hello,
> 
> Just had a strange bug --in a test func!-- caused by this notation. This is due 
> in my case to the practice (common, I guess) of "pretty printing" int numbers 
> using %0nd or %0ns format, to get a nice alignment. Then, if one feeds back 
> results into D code, they are interpreted as octal...
> Now, i know it: will pad with spaces instead ;-)
> 
> Copying a string'ed integer is indeed not the only this notation is bug-prone: 
> prefixing a number with '0' should not change its value (!). Several 
> programming languages switched to another notation; like 0onnn, which is 
> consistent with common hex & bin notations and cannot lead to 
> misinterpretation. Such a change would be, I guess, backward compatible; and 
> would not be misleading for C coders.

Fine with me. I've never used octal numbers (intently!). I guess some notation is needed for them, if not for historical reasons.


More information about the Digitalmars-d mailing list