Re: Assistance with unsigned long long's

From: George Greer (greerga@circlemud.org)
Date: 06/05/01


On Tue, 5 Jun 2001, Cris Jacobin wrote:

>typedef unsigned long long int bitvector_t;
>bitvector_t bit_v = 1;
>
>#define AFF_WATERLUNG         (bit_v << 26)
>#define AFF_TEST              (bit_v << 27)
>#define AFF_TEST1             (bit_v << 28)  and so on...

Unless you put a 'const' there you'll have a lot of inefficiency as the
compiler assumes 'bit_v' changes.

Just do:

#define AFF_FOO         (1ULL << 43)

>Setting individual bits above 32 leads me to believe that the game just
>isn't aware of the extra bytes.  If I set on bit 33, bit 1 is set on.

Don't know off-hand, try the constant version above.

--
George Greer
greerga@circlemud.org

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/05/01 PST