假设我有 bitmask 1000000000
。我想将其转换为等效的十六进制数,即0x200
(具体来说,我只想要200
部分,但这很容易处理)
我知道我可以用 Python 或使用各种bash
特性和功能来做到这一点。例子:
python -c "print format(0b1000000000, 'x')"
200
printf '%x\n' "$((2#1000000000))"
200
echo 'ibase=2;obase=10000;1000000000'|bc
200
但是,我想只使用可用的函数sh
(即 Shell,而不是 Bash)来做到这一点。更具体地说,我希望它可以sh
在initrd
我正在组合的图像中使用。AFAIK,上面的例子都不能在initramfs
/busybox
上下文中工作。