On Thursday, November 21, 2013 08:21:37 bioinfornatics wrote: > why this fail http://www.dpaste.dzfl.pl/a6d6acf4 > > I want to works with ubyte -> 0000 0000 > i do not want use int for manipulating these byte and consume > more memory as need!
All arithmetic operations on integer types (including bitwise manipulations) operate on the original type or (u)int (whichever is larger). So, if you want to manipulate a ubyte and then assign the result to a ubyte, you need to cast it. It's the same with C/C++ except that C/C++ just silently do the cast for you, whereas D requires an explicit cast for narrowing conversions. - Jonathan M Davis