在ubuntu bash脚本中,当我尝试转换错误的十六进制值时不会抛出任何错误



在Ubuntu中,当我尝试转换十六进制(ZZZZZ)时,它的打印像3777777。

它应该显示一个错误,因为十六进制if从A到F对吗?

DESKTOP-DQWCSON:~$ echo 'ibase=16; obase=8; ZZZZZ' |bc
3777777

因为这不是错误。从bc手册页:

无论ibbase的值如何,个位数总是具有该数字的值。(即A = 10。)对于多位数,bc将所有大于或等于ibbase的输入数字更改为ibbase -1的值。

有人可能认为这是bc中的设计流程,但它的行为与文档一致。

最新更新