【发布时间】:2012-12-04 12:27:47
【问题描述】:
如何在gawk 中将数字指定为二进制?
根据manual,gawk 将所有数字解释为十进制,除非它们前面有 0(八进制)或 0x(十六进制)。与某些其他语言不同,0b 不能解决问题。
例如,以下行没有给出所需的输出(010000 或 10000),因为这些值分别被解释为八进制/十进制或十进制/十进制:
gawk '{print and(010000,110000)}'
0
gawk '{print and(10000,110000)}'
9488
我怀疑gawk 可能不支持base-2,并且需要用户定义的函数来生成二进制表示。
【问题讨论】: