if (Serial.available() > 0) {
for (int x = 0; x < 4; x++){
myNumber.B[x] = Serial.read();
}
Pssst. This won't work.
If there is at least one byte available to be read, read all 4 of them. Can you see what is wrong with this picture? And, how to fix it?