Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 5963531
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 22, 20262026-05-22T19:16:11+00:00 2026-05-22T19:16:11+00:00

From bool[] to byte[]: Convert bool[] to byte[] But I need to convert a

  • 0

From bool[] to byte[]: Convert bool[] to byte[]

But I need to convert a byte[] to a List where the first item in the list is the LSB.

I tried the code below but when converting to bytes and back to bools again I have two totally different results…:

public List<bool> Bits = new List<bool>();


    public ToBools(byte[] values)
    {
        foreach (byte aByte in values)
        {
            for (int i = 0; i < 7; i++)
            {
                Bits.Add(aByte.GetBit(i));
            }
        }
    }



    public static bool GetBit(this byte b, int index)
    {
        if (b == 0)
            return false;

        BitArray ba = b.Byte2BitArray();
        return ba[index];
    }
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-22T19:16:12+00:00Added an answer on May 22, 2026 at 7:16 pm

    You’re only considering 7 bits, not 8. This instruction:

    for (int i = 0; i < 7; i++)
    

    Should be:

    for (int i = 0; i < 8; i++)
    

    Anyway, here’s how I would implement it:

    byte[] bytes = ...
    List<bool> bools = bytes.SelectMany(GetBitsStartingFromLSB).ToList();
    
    ...
    
    static IEnumerable<bool> GetBitsStartingFromLSB(byte b)
    {
        for(int i = 0; i < 8; i++)
        {
            yield return (b % 2 == 0) ? false : true;
            b = (byte)(b >> 1);
        }
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

This code snippet is from C# in Depth static bool AreReferencesEqual<T>(T first, T second)
I use the codes below to read and write a bool value from my
the following code is from MSDN: Idisposable pattern protected virtual void Dispose(bool disposing) {
I need to send a byte array from javascript into a c# page method.
The code below will print all of the text from the sample text file
I want to be able to convert from Byte[] to Image and vice versa.
I have the following method in my code: private bool GenerateZipFile(List<FileInfo> filesToArchive, DateTime archiveDate)
I'm receiving several bit fields from hardware. My code was originally: public readonly byte
Assumption: Converting a byte[] from Little Endian to Big Endian means inverting the order
Form has the DoubleBuffered property (bool, inherited from Control). If this is set to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.