D arithmetic problem
davidl
davidl at nospam.org
Tue Jun 2 19:45:10 PDT 2009
Following two piece of code demonstrate different behaviors currently.
import std.stdio;
void main()
{
uint v;
v=31234;
byte t= -1;
v |= t;
writefln(v);
}
Output:4294967295
import std.stdio;
void main()
{
uint v;
v=31234;
byte t= -1;
v |= cast(ubyte)t;
writefln(v);
}
Output:31487
I would always want the second result. What's your opinion?
--
使用 Opera 革命性的电子邮件客户程序: http://www.opera.com/mail/
More information about the Digitalmars-d
mailing list