Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #10300

Re: datatype for bit flags

From Phil Carmody <thefatphil_demunged@yahoo.co.uk>
Newsgroups comp.lang.c, comp.lang.c++
Subject Re: datatype for bit flags
Date 2011-09-16 01:16 +0300
Organization A noiseless patient Spider
Message-ID <87k4994fkd.fsf@bazspaz.fatphil.org> (permalink)
References <j4s877$2a0$1@dont-email.me>

Cross-posted to 2 groups.

Show all headers | View raw


Gr <g@g.com> writes:
> I am not an expert C or C++ programmer but know enough to get by.
> 
> Currently studying some graphics algorithms as a part of CAD.
> 
> In the Cohen Sutherland Algorithm of line clipping, a code/flag is
> using for denoting where an endpoint of the line lies as compared to
> the clipping rectangle.
> 
> This code consists of 4 flags (1 each for left, right, below & above).
> 
> type code = 0;
> 
> if(point lies to the left of clipping window)
>     code = code & 1;
> if(point lies to right)
>     code = code & 2;
> 
> if(point lies below)
>    code = code & 4;
> if(point lies above)
>    code = code & 8;
> 
> 
> Now in some books the type of code is declared
> as
> unsigned char code;
> In others, it's
> int code;
> 
> which is better?

It depends.
 
> unsigned char code saves space
> (is the unsigned really necessary anyway?)
> 
> but I think int is probably faster.

Unthink that thought. 

There is no "think code is faster", there is only
"fact - code is not sufficiently fast" and 
"measure which alternative code is faster".

> Can someone explain what's a better way to do this if you were
> writing a graphics library?

If the code-size is similar and the speed is similar,
why are you fussing about such trivialities? I'm sure
there are actual important architectural issues that
need to be adressed with much higher priority. You're
wasting too much time deciding what colour to paint
the bike shed.

Phil
-- 
"Religion is what keeps the poor from murdering the rich."
-- Napoleon

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

datatype for bit flags Gr <g@g.com> - 2011-09-15 12:37 +0530
  Re: datatype for bit flags jacob navia <jacob@spamsink.net> - 2011-09-15 09:26 +0200
    Re: datatype for bit flags Gr <g@g.com> - 2011-09-15 13:33 +0530
      Re: datatype for bit flags jacob navia <jacob@spamsink.net> - 2011-09-15 10:12 +0200
  Re: datatype for bit flags Malcolm McLean <malcolm.mclean5@btinternet.com> - 2011-09-15 01:06 -0700
  Re: datatype for bit flags "BartC" <bc@freeuk.com> - 2011-09-15 10:56 +0100
    Re: datatype for bit flags Gr <g@g.com> - 2011-09-15 17:24 +0530
  Re: datatype for bit flags Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-09-16 01:16 +0300
    Re: datatype for bit flags Malcolm McLean <malcolm.mclean5@btinternet.com> - 2011-09-16 04:59 -0700
      Re: datatype for bit flags Jorgen Grahn <grahn+nntp@snipabacken.se> - 2011-09-16 20:46 +0000
        Re: datatype for bit flags pete <pfiland@mindspring.com> - 2011-09-16 18:00 -0400
        Re: datatype for bit flags Malcolm McLean <malcolm.mclean5@btinternet.com> - 2011-09-18 05:00 -0700
          Re: datatype for bit flags Jorgen Grahn <grahn+nntp@snipabacken.se> - 2011-09-18 13:36 +0000
      Re: datatype for bit flags "Tony" <nospamme@ever.net> - 2011-09-16 16:47 -0500
        Re: datatype for bit flags pete <pfiland@mindspring.com> - 2011-09-16 18:35 -0400
          Re: datatype for bit flags Keith Thompson <kst-u@mib.org> - 2011-09-16 16:25 -0700
            Re: datatype for bit flags pete <pfiland@mindspring.com> - 2011-09-17 02:35 -0400
              Re: datatype for bit flags Keith Thompson <kst-u@mib.org> - 2011-09-17 14:42 -0700
          Re: datatype for bit flags "Tony" <nospamme@ever.net> - 2011-09-16 19:27 -0500
  Re: datatype for bit flags hanukas <jukka@liimatta.org> - 2011-09-23 03:56 -0700

csiph-web