わかりました。コードはうまく機能し、インクリメント++演算子とデクリメント演算子を使用しています。
unsigned int atob(const char* input)
{
int i = 0;
while (input[i] == '0' || input[i] == '1') i++;
unsigned result = 0;
unsigned currentBit = --i;
while ((*input == '0') || (*input == '1')) {
char isCurrentBitSet = *input == '1';
unsigned setValue = (isCurrentBitSet << currentBit--);
result |= setValue;
input++;
}
return result;
}
ここで、whileステートメントの下部にあるinput ++を除いて、すべてのdec(-)/ inc(++)を削除する必要があります。私はこの実装を行う方法に困惑しています。