我正在尝试将十六进制数字转换为 ASCII 文本,为此我使用了xxd. 但问题在于它没有抛出任何输出。
例如,我使用了:
echo 86973746F7279200D6C73202D6C7472200D6E206E657473746174730D6E20696E666F200D6E207374617475730D657869740D | xxd -r -p
Run Code Online (Sandbox Code Playgroud)
但它没有给我任何输出。
没有在线生成器的帮助,还有其他方法可以隐藏它吗?请帮忙!!
参考C11 草案,第 3.4.3 节和C11 草案,第 H.2.2 节,我正在寻找实现除有符号整数的模运算以外的行为的“C”实现。
具体来说,我正在寻找这是默认行为的实例,可能是由于底层机器架构。
这是一个代码示例和终端会话,说明了有符号整数的模算术行为:
overflow.c:
#include <stdio.h>
#include <limits.h>
int main(int argc, char *argv[])
{
int a, b;
printf ( "INT_MAX = %d\n", INT_MAX );
if ( argc == 2 && sscanf(argv[1], "%d,%d", &a, &b) == 2 ) {
int c = a + b;
printf ( "%d + %d = %d\n", a, b, c );
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
终端会话:
$ ./overflow 2000000000,2000000000
INT_MAX = 2147483647
2000000000 + 2000000000 …Run Code Online (Sandbox Code Playgroud)