byte + single-bit-operations
Nrgyzer
nrgyzer at gmail.com
Fri May 7 11:25:08 PDT 2010
Alexander Panek Wrote:
> On Tue, 15 Mar 2005 21:23:23 +0100, Anders F Björklund <afb at algonet.se>
> wrote:
>
> > Alexander Panek wrote:
> >
> >> just wondered if there`s a common way to edit single bits in a byte? in
> >> C and C++ there were only crappy 'workarounds', but as D has a
> >> single-bit datatype it would be great to have an operator to
> >> read/write single bits in a byte-variable.
> >
> > Use the bit[] type. Just be aware that it always aligns the memory used
> > to even powers of 32 bits (4 bytes), if unioned with for instance byte.
> >
> > See http://www.prowiki.org/wiki4d/wiki.cgi?BitsAndBools
> >
> > --anders
>
> Well, I use a bit-array. But it seems like the compiler does not want me
> to do this :o !
>
> I use this code to copy a bit out of a byte into a bit-variable:
>
> [code]
> while(offset_ascii < 8) {
> result[offset_sms] = (b & (true << offset_ascii++)) << offset_sms++; //
> line 18
> }
> [/code]
>
> DMD gives me this error:
> " smscode.d(18): cannot implicitly convert expression (cast(int)(b) & 1 <<
> offset_ascii++) of type int to bit "
>
> Thanks,
> an hopefully Alex ;)
>
> --
> Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
I tried a bit... I can't get it to work with bud... only dmd will compile the source. When I first compile with dmd and then with bud, it works with bud, too - but only until I didn't use the -clean flag when I build the exe-file.
More information about the Digitalmars-d
mailing list