【发布时间】:2015-10-26 05:24:49
【问题描述】:
我有一个通过 SNMP 收集十六进制值的例程。这是我的 bash 脚本 08 01 18 00 FF FF 的真实集合。该值基于 expr $((16#${array[4]})) - $((16#${array[5]})) 所以结果为 0,我如何引入两个是补码?根据我正在处理的示例, expr $((16#${array[4]})) - $((16#${array[5]})) 的正确值为 -1。
【问题讨论】:
-
你能解释一下为什么 FF - FF 应该是 -1 吗?
-
FF - FF应该是 0。 -
二进制补码中 255 的无符号值为 -1,如何在 bash 中使用二进制补码,如果我有 255,如何转换为 -1
标签: bash hex decimal twos-complement