RF modules can't send numbers with virutalWire

200 = 0b11001000

for (int i=0; i<6; i++) {
 var = bitRead(numb, i);
 texto += var;
}

When i = 0, 1, 2, 4, and 5, var will be 0. When i = 3, var will be 1. Neither 0 or 1 are printable characters. So, adding them to a string is pretty meaningless.

The string texto ends up containing NULL, NULL, 1 (not '1'), NULL, NULL, NULL.

When you print the string, the printing starts on the left, and terminates with the first NULL. Oh, that didn't take long.

If you want to convert 200 to '2', '0', '0', NULL, in a string, then texto should be a char array (char texto[4];), and you should use the itoa() function to convert the integer to an ASCII array of characters.