writefln + unsigned numbers

david tazz at gmx.at
Mon Apr 16 14:26:54 PDT 2007


Hello,

when playing with an array and indices that are later shifted to < 0,
I found the following rather not intuitive behaviour:

import std.stdio;
void main()
{
	uint j;
	writefln(j - 2);
}

results in 4294967294.
I'm aware of the construction of uint,
but shouldn't j be automatically converted
to a larger type providing negative numbers (long) ?

david


More information about the Digitalmars-d-learn mailing list