Click here to Skip to main content
15,888,461 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionReading data of a monochrome BMP file Pin
Member 211673610-Feb-09 20:08
Member 211673610-Feb-09 20:08 
AnswerRe: Reading data of a monochrome BMP file Pin
Code-o-mat10-Feb-09 21:49
Code-o-mat10-Feb-09 21:49 
GeneralRe: Reading data of a monochrome BMP file Pin
Member 211673610-Feb-09 22:26
Member 211673610-Feb-09 22:26 
GeneralRe: Reading data of a monochrome BMP file Pin
Code-o-mat10-Feb-09 23:00
Code-o-mat10-Feb-09 23:00 
GeneralRe: Reading data of a monochrome BMP file Pin
Member 211673611-Feb-09 4:33
Member 211673611-Feb-09 4:33 
AnswerRe: Reading data of a monochrome BMP file Pin
CPallini10-Feb-09 22:04
mveCPallini10-Feb-09 22:04 
GeneralRe: Reading data of a monochrome BMP file Pin
Member 211673610-Feb-09 22:23
Member 211673610-Feb-09 22:23 
GeneralRe: Reading data of a monochrome BMP file Pin
CPallini10-Feb-09 22:59
mveCPallini10-Feb-09 22:59 
Member 2116736 wrote:
but how can I convert from a Byte into those 8 bits?


A byte is already that set of bits.
If you need to extract single bit info you may:

  • use the shift and AND operators:
    unsigned int getbit(BYTE byte, int bit){ return ( (byte >> bit) & 0x01; ) }

    It may be used as follows:
    void main()
      BYTE byte = 205; 
      cout << (int) mb.byte << " decimal is ";
      int i=8;
      while (i--)
      {
        cout << getbit(byte, i);
      }
      cout << " binary " << endl;
    }
  • use the 'union trick', i.e.
    struct BitField
    {
      unsigned int bit0 : 1;
      unsigned int bit1 : 1;
      unsigned int bit2 : 1;
      unsigned int bit3 : 1;
      unsigned int bit4 : 1;
      unsigned int bit5 : 1;
      unsigned int bit6 : 1;
      unsigned int bit7 : 1;
    };
    union MyByte
    {
      BYTE byte;
      BitField bf;
    };

    That you may use this way:
    bool main()
    {
      MyByte mb;
      mb.byte = 205;
      cout << (int) mb.byte << " decimal is ";
      cout <<  mb.bf.bit7 <<  mb.bf.bit6 <<  mb.bf.bit5 <<  mb.bf.bit4 << mb.bf.bit3 << mb.bf.bit2 << mb.bf.bit1 << mb.bf.bit0;
      cout << " binary " << endl;
    }

Smile | :)

If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.

This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke

[My articles]

GeneralRe: Reading data of a monochrome BMP file Pin
Member 211673611-Feb-09 4:35
Member 211673611-Feb-09 4:35 
GeneralRe: Reading data of a monochrome BMP file Pin
CPallini11-Feb-09 7:51
mveCPallini11-Feb-09 7:51 
GeneralRe: Reading data of a monochrome BMP file Pin
Member 211673611-Feb-09 14:57
Member 211673611-Feb-09 14:57 
GeneralRe: Reading data of a monochrome BMP file Pin
CPallini11-Feb-09 22:06
mveCPallini11-Feb-09 22:06 
GeneralRe: Reading data of a monochrome BMP file Pin
Member 211673611-Feb-09 22:13
Member 211673611-Feb-09 22:13 
QuestionUsing CDialog::OnOK() Pin
Babu@codeproject10-Feb-09 18:51
Babu@codeproject10-Feb-09 18:51 
AnswerRe: Using CDialog::OnOK() Pin
Eytukan10-Feb-09 19:10
Eytukan10-Feb-09 19:10 
AnswerRe: Using CDialog::OnOK() Pin
SandipG 10-Feb-09 19:42
SandipG 10-Feb-09 19:42 
Question[Message Deleted] Pin
Purish Dwivedi10-Feb-09 17:39
Purish Dwivedi10-Feb-09 17:39 
AnswerRe: Sample multilingual application with full steps using vc++ in visual studio 2005 Pin
Sarath C10-Feb-09 18:51
Sarath C10-Feb-09 18:51 
AnswerREPOST Pin
_AnsHUMAN_ 10-Feb-09 19:32
_AnsHUMAN_ 10-Feb-09 19:32 
Answer2nd Repost.. Please Ignore. Pin
SandipG 10-Feb-09 19:49
SandipG 10-Feb-09 19:49 
General[Message Deleted] Pin
Purish Dwivedi10-Feb-09 21:54
Purish Dwivedi10-Feb-09 21:54 
RantPlease don't be rude Pin
CPallini10-Feb-09 22:26
mveCPallini10-Feb-09 22:26 
General[Message Deleted] Pin
Purish Dwivedi10-Feb-09 22:58
Purish Dwivedi10-Feb-09 22:58 
GeneralRe: Please don't be rude Pin
CPallini10-Feb-09 23:05
mveCPallini10-Feb-09 23:05 
Questioncreating app buttons Pin
uzziah010-Feb-09 16:09
uzziah010-Feb-09 16:09 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.