C 十六进制代码差异
我正在做一个作业,写一个程序,镜像ac(1)。C 十六进制代码差异,c,hex,C,Hex,我正在做一个作业,写一个程序,镜像ac(1)。ac和myaac的输出均为: " total 5.80\n" 我运行了aac-file xyz>out1和ac-file xyz>out2 但是,当使用diff-out1和out2时,我得到: 1c1 < total 5.80 --- > total 5.80 -bash-3.2$ od out1 0000000 020040 020040 020040
ac
和myaac
的输出均为:
" total 5.80\n"
我运行了aac-file xyz>out1
和ac-file xyz>out2
但是,当使用diff-out1
和out2
时,我得到:
1c1
< total 5.80
---
> total 5.80
-bash-3.2$ od out1
0000000 020040 020040 020040 072040 072157 066141 020040 020040
0000020 020040 020040 027065 030070 000012
0000031
-bash-3.2$ od out2
0000000 072011 072157 066141 020040 020040 020040 020040 027065
0000020 030070 000012
0000023
我不确定差异来自何处。请参见并注意,
011
是制表符,而您使用的是040
空格。如果您运行“od-x”而不是“od”,您的生活会更轻松。前者打印真正的十六进制(逐字节)而不是八进制。但是看起来一个版本的左边有更多的空格,我不得不认为有更好的输出格式;试试od-a
或od-c
。我更喜欢xxd(1)
输出格式,这使得比较“纯文本”版本和十六进制变量变得容易。(可能可以使od
输出类似的内容,但是xxd
在我关心的所有机器上都可用。)