bit storing as byte

To store 49 (or 50) bits of data you need to use 8 bytes
An array of 8 bytes and use of the bitWrite() function would enable you to do what you want.

A small amount of maths would allow you to calculate which bit in which byte holds the data for a specified bit out of 49 (or 50)

How are you receiving the data to be stored ?