我想知道是否有一种使用 8 位数据类型从 0 计数到 255 的干净方法,例如:
for(uint8_t i(0);i<=255;++i)
{
....
}
这显然行不通,但它清楚地表明你想从 0 数到 255。
一个可行的解决方案是这样的:
uint8_t i(0);
do
{
...
++i;
}
while(i > 0);
但这里根本不清楚它从 0 计数到 255。
这也可以,但它只是丑陋的恕我直言:
uint8_t i(0);
while(true)
{
...
if (i == 255)
{
break;
}
++i;
}
所以我想知道,有没有一种干净的方法可以在不使用更大数据类型的情况下做到这一点?
编辑:
- 我喜欢使用 for 的版本,因为它不假思索就清楚地表明了它的意图:从 0 循环到 255。所有其他版本都需要对正在发生的事情进行一些思考,因此更容易混淆其他人。
- 我不想使用 int 因为代码是用于内存不多的 8 位微控制器。