0nnn octal notation considered harmful
Don
nospam at nospam.com
Sat Feb 12 10:27:32 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.
>
> Denis
Octal should just be dropped entirely. Retaining built-in octal literals
is like retaining support for EBCDIC. It's a relic of a time before
hexadecimal was invented.
More information about the Digitalmars-d
mailing list