Computer Science Question
Rick Forrister
RForrister at charter.net
Mon Nov 17 22:44:39 PST 2014
In C++ I found the following code sample:
Nobody mentioned the Standard C++ Library: |std::bitset<N>|
<http://www.sgi.com/tech/stl/bitset.html>.
Or the boost version: |boost::dynamic_bitset|
<http://www.boost.org/doc/libs/1_36_0/libs/dynamic_bitset/dynamic_bitset.html>.
No need to roll your own:
|#include <bitset>
#include <iostream>
int main()
{
std::bitset<5> x;
x[1] = 1;
x[2] = 0;
// Note x[0-4] valid
std::cout<< x<< std::endl;
}|
and you could map them more or less as follows:
sex=m|f=0|1
mood=h|s=0|1
mature=a|c=0|1
color=r|b=0|1
handed=r|l=0|1
Thus, a female child who is happy, likes re and is right handed would
encode to: 10100
in PDP-11 assembler there's a BSB command (bit set byte), and you can
embed assembler in C functions.
Hope it helps
RickF
On 11/17/2014 9:28 PM, James McDonald wrote:
> Hi All,
>
> I am wondering how to do the following:
>
> Say I have a list of values I want to assign to a person e.g.
>
> 1. Male
> 2. Female
> 3. Happy
> 4. Sad
> 5. Child
> 6. Red is favorite color
> 7. Blue is favorite color
> 8. RIght handed
> 9. Left handed
> etc.
>
> Now how do I make the list contain numerical values that I can then
> add together and then end up with a number that I can reverse and
> discern which values were assigned to the person?
>
> I believe that there is something in binary that means you can assign
> bit or a corresponding number to each option and then pull out the
> selections programmatically
>
> My problem is I can't figure out what to Google to teach myself how to
> do it.
>
> Can anyone point me in the right direction?
>
> Thanks.
> James McD.
>
>
>
> _______________________________________________
> Linux-users mailing list
> Linux-users at linux-sxs.org
> http://mailman.celestial.com/mailman/listinfo/linux-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.celestial.com/pipermail/linux-users/attachments/20141117/37f875d7/attachment.html>
More information about the Linux-users
mailing list