【发布时间】:2014-02-14 22:31:11
【问题描述】:
最近看了一些16进制的数据,比如0x1000 0000 0000 0000,但是打印0xffff ffff ffff ffff的时候打印出一些奇怪的东西
awk '{printf("0x\n", 0x1000000000000000)}' output `0x1000000000000000` ok.
但是,用
代替16 f awk '{printf("0x\n", 0xffffffffffffffff)}',输出0
15 f awk '{printf("0x\n", 0xfffffffffffffff)}',输出1000000000000000(14 0)
15 f awk '{printf("0x\n", 0xfffffffffffffff0)}',输出0
14 f awk '{printf("0x\n", 0xffffffffffffff)}',输出 100000000000000 (13 0)
14 f awk '{printf("0x\n", 0xffffffffffffff0)}',输出 100000000000000 (14 0)
14 f awk '{printf("0x\n", 0xffffffffffffff00)}',输出0
13 f awk '{printf("0x\n", 0xfffffffffffff)}',输出fffffffffffff(13f)
13fawk '{printf("0x\n", 0xfffffffffffff0)}',输出fffffffffffff0(13f)
13fawk '{printf("0x\n", 0xfffffffffffff00)}',输出fffffffffffff00(13f)
13fawk '{printf("0x\n", 0xfffffffffffff000)}',输出fffffffffffff000(13f)
所以 13f 没问题,如何打印 16f?
【问题讨论】:
-
这打印了很多
0x,所以我想格式字符串刚刚离开。