我试图让函数HundredPosToZero
将百位置转换为零,例如:
HundredPosToZero(4239) // 4039
这是我的工具:
public HundredPosToZero(int num){
return num / 1000 * 1000 + num % 100;
}
但是,我想到为什么不使用像bitwise operator
这样的4239 & 1011
做同样的事情?但我无法弄清楚如何实现它,因为4239不是二进制,有这种方法的任何建议吗?
答案 0 :(得分:2)
不是真的。二进制中的十进制数没有什么特别之处。例如,有可能一个十六进制数字,但十进制数字不能与二进制数字很好地搭配:)
答案 1 :(得分:1)
如果你希望这个操作对于所有数字都是相同的,那就完全不可能了。"数百"在整数的常规表示中,不要占用相同的位。
如果您使用其他数字的二进制表示(如BCD)将位组分配给唯一的十进制数字,那么您可以轻松地执行此操作。