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.