It's not easy to tell from just that one example - you really need to go back to the documentation and double check exactly how the string it supposed to relate to the floor and room number, as it seems unlikely that it's what it appears from that.
Best guess:
00000000000000010000000001000000
Is in two parts:
0000000000000001 - floor number (1)
0000000001000000 - room on floor (7)
But that restricts the system to only work with 16 rooms per floor, and I've stayed in hotels with far, far more than that!
But the simplest way to do this conversion is to set up an array:
Private toBinaryString As String() = {"0000000000000001", "0000000000000010", "0000000000000100", "0000000000001000", "0000000000010000", "0000000000100000", "0000000001000000", "0000000010000000", "0000000100000000", "0000001000000000", "0000010000000000", "0000100000000000", "0001000000000000", "0010000000000000", "0100000000000000", "1000000000000000"}
and then use the floor number and room number as indexes to get each "half" of the string you need.
But I'd strongly advise you to read the documentation carefully before committing yourself on this!