发布网友 发布时间:2022-04-26 22:34
共2个回答
热心网友 时间:2022-06-19 03:06
看了眼觉得怪,然后试了下似乎并不能起到预想的作用
大致功能和想法我能分析出来
In[i / 8] 字符串中每个数应该是8个二进制代码组成,所以要输出的话,In[0]需要循环8次,取出每个二进制代码
>> (7 - i % 8)) 通过移位操作,提取这8个二进制值
但其中逻辑有问题,移位后,只要上一位是1,无论需要的这位是多少,都会输出1
你试试if ((In[i / 8] >> (7 - i % 8))%2)这样写看看是不是你要的结果追问代码没问题,能得出正确的运行结果,看了你的答案我估计i/8是8位二进制中只取第i个位置的一位数,然后将这个数右移7-i个位置,和上一位数是什么没关系。
热心网友 时间:2022-06-19 03:06
for
是一种循环语句
for
应该包含3个语句
可以为空
第一个是初始化条件
只执行一次
第二个是循环条件
满足条件才会继续循环
第三个是每次循环结束后都会执行的语句
一般是变量的增加,也可以不写,放到循环里写
所以这句话的意思就是
变量i
初值赋为
0
在i<8的情况下会进行循环
每次i自增1
那么进行了
0,1,……,6,7
8次循环
最后i=8
不满足条件
退出循环