I did it partly by logic and partly by trial and error
999 base10 = 1 111 100 111 in base 2 there are 10 digits but not all can be a 1
so the maximum sum of the base 10 digits is 9
900 base 10 = 1 110 000 100 that is no good so it is less than 900
800 base 10 = 1 100 100 000 that is no good
the most I can add to it is 10 base10 so that is 1010 base two
which means that 1 100 will be the highest four base 2 digits which means that the max number of ones is 8 which is too small
so the number is less than 800
700, 701,702,710,711,720 are all no good so it has to be less than 700
600,601,602,603,610, 611, 612, 620, 621, 630 all no good so it is less than 600
500 base 10 = 111 110 100 this doesn't work but it looks promising
there are 6 ones here ... if I add 2 base 10 that will add 1 extra 1 ... sounds good
502 = 111 110 110 PERFECT
503 = 111 110 111 PERFECT
504,510,511,512,513,520,521,522,530,531,540 all no good
So the largest one is 503
Note: I cold easily have made a careless error.