在 C 中打印最后 5 位数字(八进制)
Printing last 5 digits in C (Octal base)
我想知道如何在 C 编程语言中只打印八进制数的最后 5 位数字?
棘手的部分:数字在定义中是无符号的,所以经过一些程序它输出类似 3777777464 的东西。我想要打印的只是 77464。
我试图四处查看 C 格式指南,但我只找到了如何编写前 5 个 digits/characters,而不是最后 5 个关于提到的棘手部分。
只需要在输出中显示(printf/fprintf在文件中)。
编辑并强调:这里的代码太长post,它由许多c文件和头文件组成。为了简洁:我需要 printf("%05o\n",arr[i]);仅打印最后 5 位数字。它打印出类似 3777777464 的内容。数字是正确的,我只需要最后 5 位数字
非常感谢你帮助我
print just the last 5 (octal) digits of a number
通过与 077777 的掩码进行与运算得出最后 5 个八进制数字。
#define MASK_LAST_5_OCTAL_DIGITS 077777u
// vv print at least 5 characters, pad with 0 as needed
printf("%05o\n", (unsigned) (number & MASK_LAST_5_OCTAL_DIGITS));
我想知道如何在 C 编程语言中只打印八进制数的最后 5 位数字?
棘手的部分:数字在定义中是无符号的,所以经过一些程序它输出类似 3777777464 的东西。我想要打印的只是 77464。
我试图四处查看 C 格式指南,但我只找到了如何编写前 5 个 digits/characters,而不是最后 5 个关于提到的棘手部分。
只需要在输出中显示(printf/fprintf在文件中)。
编辑并强调:这里的代码太长post,它由许多c文件和头文件组成。为了简洁:我需要 printf("%05o\n",arr[i]);仅打印最后 5 位数字。它打印出类似 3777777464 的内容。数字是正确的,我只需要最后 5 位数字
非常感谢你帮助我
print just the last 5 (octal) digits of a number
通过与 077777 的掩码进行与运算得出最后 5 个八进制数字。
#define MASK_LAST_5_OCTAL_DIGITS 077777u
// vv print at least 5 characters, pad with 0 as needed
printf("%05o\n", (unsigned) (number & MASK_LAST_5_OCTAL_DIGITS));