digitalmars.D.learn - bit array
- Orgoton (4/4) Feb 07 2007 When I declare
- Frits van Bommel (5/11) Feb 07 2007 It used to only consume 120 bits, when 'bit' was still a basic type.
- Tomas Lindquist Olsen (5/18) Feb 07 2007 As a note to this you can use std.BitArray in phobos to have a true bit
- Sean Kelly (3/21) Feb 07 2007 tango.core.BitArray. The implementation is essentially the same.
When I declare bit flags[120]; How much memory does this consure? 120 Bytes or 120 bits (packing). It would be a pain to make something like "long flags1, flags2..." and "if (flags1 & FLAGMASK) ..." to conserve memory.
Feb 07 2007
Orgoton wrote:When I declare bit flags[120]; How much memory does this consure? 120 Bytes or 120 bits (packing). It would be a pain to make something like "long flags1, flags2..." and "if (flags1 & FLAGMASK) ..." to conserve memory.It used to only consume 120 bits, when 'bit' was still a basic type. There were some issues with that though, so now 'bit' is just a backwards-compatibility alias to 'bool'. Since 'bool' is a 1-byte type (typically) that means it'll consume 120 bytes.
Feb 07 2007
Frits van Bommel wrote:Orgoton wrote:As a note to this you can use std.BitArray in phobos to have a true bit array. Not sure what the Tango equivalent is. http://digitalmars.com/d/phobos/std_bitarray.htmlWhen I declare bit flags[120]; How much memory does this consure? 120 Bytes or 120 bits (packing). It would be a pain to make something like "long flags1, flags2..." and "if (flags1 & FLAGMASK) ..." to conserve memory.It used to only consume 120 bits, when 'bit' was still a basic type. There were some issues with that though, so now 'bit' is just a backwards-compatibility alias to 'bool'. Since 'bool' is a 1-byte type (typically) that means it'll consume 120 bytes.
Feb 07 2007
Tomas Lindquist Olsen wrote:Frits van Bommel wrote:tango.core.BitArray. The implementation is essentially the same. SeanOrgoton wrote:As a note to this you can use std.BitArray in phobos to have a true bit array. Not sure what the Tango equivalent is.When I declare bit flags[120]; How much memory does this consure? 120 Bytes or 120 bits (packing). It would be a pain to make something like "long flags1, flags2..." and "if (flags1 & FLAGMASK) ..." to conserve memory.It used to only consume 120 bits, when 'bit' was still a basic type. There were some issues with that though, so now 'bit' is just a backwards-compatibility alias to 'bool'. Since 'bool' is a 1-byte type (typically) that means it'll consume 120 bytes.
Feb 07 2007