ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   How to match bits to a certain value (https://www.excelbanter.com/excel-worksheet-functions/106562-how-match-bits-certain-value.html)

Matt

How to match bits to a certain value
 
I don't think this is very hard, but I'm not sure how to approach it.

Basically I have an 8 bit binary code that represents a decimal value
between 0 and 255, and each of the 8 bits represents a different color. By
either using the decimal or binary number, I need to output the corresponding
color.

Say the 8 bits are equivalent to ROYGBIVP (8 colors). ie bit 7=Red, bit 6=
Orange, bit 5=yellow, etc., down to bit 0=purple.

So, if I have 00001011 (decimal 8+2+1=11), then I would output BVP

or, if I have 11010000 (decimal 128+64+16= 128), then I would output ROG

It doesn't matter if you use the binary (to match bit by bit) or decimal
(using remainder function, even, odd, ,<, etc., or anything else I don't
know about).

Thanks.

Biff

How to match bits to a certain value
 
What are you looking for here? Do you want this to be part of some VB code
or do you have the data in worksheet cells and need a formula?

So, any solution is better than NO solution, right? How about an IF formula?

Binary *TEXT* string in A1.

A1 = 00001011

=IF(MID(A2,1,1)="1","R","")&IF(MID(A2,2,1)="1","O" ,"")&IF(MID(A2,3,1)="1","Y","")&IF(MID(A2,4,1)="1" ,"G","")&IF(MID(A2,5,1)="1","B","")&IF(MID(A2,6,1) ="1","I","")&IF(MID(A2,7,1)="1","V","")&IF(MID(A2, 8,1)="1","P","")

Returns: BVP

Biff

"matt" wrote in message
...
I don't think this is very hard, but I'm not sure how to approach it.

Basically I have an 8 bit binary code that represents a decimal value
between 0 and 255, and each of the 8 bits represents a different color.
By
either using the decimal or binary number, I need to output the
corresponding
color.

Say the 8 bits are equivalent to ROYGBIVP (8 colors). ie bit 7=Red, bit 6=
Orange, bit 5=yellow, etc., down to bit 0=purple.

So, if I have 00001011 (decimal 8+2+1=11), then I would output BVP

or, if I have 11010000 (decimal 128+64+16= 128), then I would output ROG

It doesn't matter if you use the binary (to match bit by bit) or decimal
(using remainder function, even, odd, ,<, etc., or anything else I don't
know about).

Thanks.





All times are GMT +1. The time now is 01:32 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com