·十进制转二进制:
→先创建一个数组a,项数越多越好。这里以两千为例,展开数组,将第0项划掉,这里用不着。
→这里键入数组a的地第1项,假设为121,将这个数分解成2x+0或1,第2项就为x,以此类推,直到x等于0为止。这就是121的二进制形式。

→这就是刚才的第一步:定义数组,将第一项键入s[sw+1]=(s[sw]-(s[sw]%2)/2;这就是计算的过程。
→这里先定义一个变量sw,用来表示二进制的数位。这个while循环表示重复执行到数组的第sw项为0。
→这段代码表示将数组的下一项设为当前数减去当前数除以2的余数的差除以2的商,和这一步相同。这里表示将当前数变成当前数除以2的余数。比如s[1]等于121,s[2]将被设为[121减(121模2)]÷2=60,s[1]将被设为121模2=1。
→每次执行完后,将sw+1,也就是再将下一项变成当前项,直到s的第sw项等于0。
→最后是导出,先克隆一个变量sw2,将s数组的第sw2至1项输出,就得到了二进制表达。
→先新建一个数组,并且键入项数,展开数组。假设键入的二进制数为1000001,其中,第x项在十进制中表示2的x减1次方。
→最后结果就是这样,先将输入代码写好,很简单,就不做解释了。这段代码输出了一次二进制形式,这段代码将2的1至项数次方保存在了zx里。这段代码将二进制的每一项在十进制中表示的数保存在了zx2里。
→最后将z2的所有项相加,就得到了结果,然后输出就行了。将两个程序合到一起,将两段代码复制过来,来看效果。