我有一个8位十六进制数字,我需要某些数字是0或f。考虑到数字的具体位置,可以快速生成十六进制数字,并将这些地方“翻转”到f。例如:以十六进制位翻转
flip_digits(1) = 0x000000f
flip_digits(1,2,4) = 0x0000f0ff
flip_digits(1,7,8) = 0xff00000f
我的嵌入式设备上这样做,所以我不能调用任何数学库,我怀疑这是可以做到只用位移位,但我不能完全弄清楚的方法。任何类型的解决方案(Python,C,Pseudocode)都可以工作。提前致谢。