您可以利用这样一个事实,即在二进制中,当设置了最低位时,数字是奇数,否则它是偶数。由于数字的 ASCII 值几乎是数字本身的直接表示,因此您可以按原样使用它,或者从您正在查看的数字 char 中减去 0x30 以获取二进制数。
伪代码(遍历字符串):
- 具有高/不可能值的初始化结果 (0xff)
- 读字符
- 如果 char == 0 -> jmp 结束
- 子 0x30 ; 这并不是真正需要的,取决于预期的输出。
- 如果最低位为零 -> jmp 2 ; 数是偶数
- 如果数字低于当前最低数字 -> 将其存储为新结果
- 跳转 2
- 结尾