0

我是一名学生,在 C 语言上玩了几年,但没有稳定的时间练习这门语言。我正在尝试对一个字节执行步行和步行零测试并且非常卡住,任何提示将不胜感激。

我有两个问题。

1) 我如何进行零式行走?

2)如何在 C 中通过进位(或左)执行向右旋转?

我制定了一段步行代码,尽管这不会进行并在位 0 重新启动

int8_t walkOne = 1;
walkOne <<= 1;

零行走:??

我知道必须有更好的方法来做到这一点,有人可以帮忙吗?

问候

4

1 回答 1

0

C 不提供任何旋转操作。但是,您不需要一个。要为 step 准备walking-one 值i,只需将a 逐i % 8位移动:

uint8_t walkOne = 1u << i%8;

i%8i是除以八时的余数。

对于行走零点,补充模式:

uint8_t walkZero = ~(1u << i%8);
于 2019-01-15T11:18:02.180 回答