while( i-- > 0)
{
/* 假设 I = 255
I的二进制 为
0000000011111111
第一次
i = 16
1 也是要双字节表示把
那么
1 << 16
1表示出来的 就是1000000000000000
I & (1 << i)
就是
0000000011111111 & 1000000000000000 =
0000000000000000 (也就是0)
if(I &(1 << i))
=
if(0) 为假
做if('1'==a[0])//这条件检测是
检测数组是否为0
不为0做(a[j++]='0'); 为0什么也不做
*/
if(I &(1 << i))
a[j++]='1';
else if('1'==a[0])
(a[j++]='0');
}