package com.interview.bits;
public class ByteAsStorage {
void useByteAsBoolean(boolean[] visited){
byte[] bytes = new byte[(int)(Math.ceil(visited.length*1.0/8))];
for(int i=0; i < visited.length; i++){
int row = i/8;
int col = i%8;
if(visited[i]){
bytes[row] = (byte)(bytes[row] | (byte)(1<<col));
}else{
bytes[row] = (byte)(bytes[row] & ~(byte)(1<<col));
}
}
for(int i=0; i < visited.length; i++){
int row = i/8;
int col = i%8;
if((bytes[row] & 1<<col) >= 1){
System.out.print("True");
}else{
System.out.print("False");
}
}
}
public static void main(String args[]){
boolean visited[] = {true,false,true,true,false};
ByteAsStorage bas = new ByteAsStorage();
bas.useByteAsBoolean(visited);
}
}