bitwise operation and type

Jonathan M Davis jmdavisProg at gmx.com
Wed Nov 20 23:29:16 PST 2013


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


More information about the Digitalmars-d-learn mailing list