![]() |
1
3
此代码是C89:
您不一定需要三个循环—如果需要,可以将它们组合在一起,如果只进行这两种输出中的一种,那么就不需要数组,只需在屏蔽时使用每个位值。但我认为这会使事情分开,希望更容易理解。 |
![]() |
2
4
对于位调整,使用无符号类型通常更安全,因为有符号负值的移动具有依赖于实现的效果。平原
那么,你的朋友就是位布尔运算符(
如果您假设您的字符是8位,则可以将代码编写为:
您可能会注意到,由于我从右到左对位进行编号,但您希望从左到右输出,所以循环索引必须减少。
注意,根据C标准,
如果目标系统恰好是那些特殊的嵌入式DSP之一,这将阻止成功编译。作为注释上的注释,C标准中的“字节”一词表示“与
|
![]() |
3
4
这可能不是最安全的方法-没有健全/大小/类型检查-但它应该仍然有效。
这将为字符提供一个无符号字符数组(0或1(true或false))。 |
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 4 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 5 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 5 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 5 月前 |