|
|
1
3
此代码是C89:
您不一定需要三个循环—如果需要,可以将它们组合在一起,如果只进行这两种输出中的一种,那么就不需要数组,只需在屏蔽时使用每个位值。但我认为这会使事情分开,希望更容易理解。 |
|
|
2
4
对于位调整,使用无符号类型通常更安全,因为有符号负值的移动具有依赖于实现的效果。平原
那么,你的朋友就是位布尔运算符(
如果您假设您的字符是8位,则可以将代码编写为:
您可能会注意到,由于我从右到左对位进行编号,但您希望从左到右输出,所以循环索引必须减少。
注意,根据C标准,
如果目标系统恰好是那些特殊的嵌入式DSP之一,这将阻止成功编译。作为注释上的注释,C标准中的“字节”一词表示“与
|
|
|
3
4
这可能不是最安全的方法-没有健全/大小/类型检查-但它应该仍然有效。
这将为字符提供一个无符号字符数组(0或1(true或false))。 |
|
no one special · 32位整数缩放,无溢出 8 年前 |
|
|
Benn Tan · 比特操作:更难翻动硬币 8 年前 |
|
|
Ganesh Thampi · 使用位运算符将十进制转换为二进制 8 年前 |
|
|
Ganesh Thampi · 使用位的奇偶程序 8 年前 |
|
|
datapanda · 三维网格的莫顿反向编码 8 年前 |
|
|
rubyquartz · 交换无符号短整数的字节 8 年前 |
|
|
John Proctor · C中位的掩蔽范围 8 年前 |
|
|
Areg Sarvazyan · 从无符号int中提取位的函数 8 年前 |
|
|
user9505617 · 按位异或0xFFFFFFFF? 8 年前 |