Represents an integer from the low position to the high position using a program. For example, 1001111 can be expressed:
1: 4
0: 2
1: 1
Void convertbinary (INT num) <br/>{< br/> int one_cnt = 0, zero_cnt = 0; <br/> int last_state =-1; <br/> while (Num) <br/>{< br/> If (Num & 0x0001) <br/>{< br/> one_cnt ++; <br/> // -- the last digit is 0 and the current digit is not -- <br/> If (last_state! = 1 & last_state! =-1) <br/>{< br/> char STR [10]; <br/> sprintf_s (STR, "0: % d", zero_cnt ); <br/> cout <STR <Endl; <br/> zero_cnt = 0; <br/>}< br/> // -- the current bit is the highest -- <br/> If (Num> 1 = 0) <br/>{< br/> char STR [10]; <br/> sprintf_s (STR, "1: % d", one_cnt ); <br/> cout <STR <Endl; <br/>}< br/> last_state = 1; <br/>}< br/> else <br/> {<br/> zero_cnt ++; <br/> // -- the last digit is 1, and the current value is not a bit -- <br/> If (last_state! = 0 & last_state! =-1) <br/>{< br/> char STR [10]; <br/> sprintf_s (STR, "1: % d", one_cnt ); <br/> cout <STR <Endl; <br/> one_cnt = 0; <br/>}< br/> // -- the current bit is the highest -- <br/> If (Num> 1 = 0) <br/>{< br/> char STR [10]; <br/> sprintf_s (STR, "0: % d", zero_cnt ); <br/> cout <STR <Endl; <br/>}< br/> last_state = 0; <br/>}< br/> num> = 1; <br/>}< br/>}