关于C#:printf格式化long的论据是什么?

关于C#:printf格式化long的论据是什么?

What is the argument for printf that formats a long?

printf函数采用参数类型,例如signed int%i作为signed int。 但是,我没有看到long值的任何内容。


在说明符之前直接放置l(小写字母L)。

1
2
3
4
unsigned long n;
long m;

printf("%lu %ld", n, m);

我想你的意思是:

1
2
unsigned long n;
printf("%lu", n);   // unsigned long

要么

1
2
long n;
printf("%ld", n);   // signed long


在大多数平台上,longint的大小相同(32位)。不过,它确实有自己的格式说明符:

1
2
3
4
long n;
unsigned long un;
printf("%ld", n); // signed
printf("%lu", un); // unsigned

对于64位,您需要long long

1
2
3
4
long long n;
unsigned long long un;
printf("%lld", n); // signed
printf("%llu", un); // unsigned

哦,当然,它在Windows中有所不同:

1
2
printf("%l64d", n); // signed
printf("%l64u", un); // unsigned

通常,当我打印64位值时,我发现以十六进制打印它们很有帮助(通常数字很大,它们是指针或位字段)。

1
2
unsigned long long n;
printf("0x%016llX", n); //"0x" followed by"0-padded","16 char wide","long long","HEX with 0-9A-F"

将打印:

1
0x00000000DEADBEEF

顺便说一句,"长"并不意味着那么多(在主流x64上)。"int"是平台默认的int大小,通常为32位。"长"通常是相同的大小。但是,它们在旧平台(以及现代嵌入式平台上)具有不同的可移植性语义。"long long"是一个64位数字,通常是人们想要使用的,除非他们真的知道他们在编辑一个x平台可移植代码时正在做什么。即便如此,他们可能会使用宏来代替捕获类型的语义(例如uint64_t)。

1
2
3
4
5
char c;       // 8 bits
short s;      // 16 bits
int i;        // 32 bits (on modern platforms)
long l;       // 32 bits
long long ll; // 64 bits

在当天,"int"是16位。您认为现在它将是64位,但不会,这会导致疯狂的可移植性问题。当然,即使这是对神秘和历史丰富真相的简化。请参阅wiki:Integer


这取决于,如果您指的是unsigned long,则格式化字符为"%lu"。如果您指的是signed long,则格式字符为"%ld"


%ld请参阅cplusplus.com上的printf参考


如果您打算像我一样打印unsigned long long,请使用:

1
2
unsigned long long n;
printf("%llu", n);

对于所有其他组合,我相信您使用printf手册中的表格,对于您尝试打??印的任何类型的行,然后是列标签(就像我上面的printf("%llu", n)一样)。


我想最后回答这个问题需要知道你正在使用的编译器名称和版本以及它正在编译的平台(CPU类型,操作系统等)。


推荐阅读

    excel怎么用乘法函数

    excel怎么用乘法函数,乘法,函数,哪个,excel乘法函数怎么用?1、首先用鼠标选中要计算的单元格。2、然后选中单元格后点击左上方工具栏的fx公

    excel中乘法函数是什么?

    excel中乘法函数是什么?,乘法,函数,什么,打开表格,在C1单元格中输入“=A1*B1”乘法公式。以此类推到多个单元。1、A1*B1=C1的Excel乘法公式

    标准差excel用什么函数?

    标准差excel用什么函数?,函数,标准,什么,在数据单元格的下方输入l标准差公式函数公式“=STDEVPA(C2:C6)”。按下回车,求出标准公差值。详细

    电脑d格式化|格式化电脑d盘

    电脑d格式化|格式化电脑d盘,,格式化电脑d盘首先,对硬盘是么有影响的。1. 其次,高级格式化磁盘,只是将文件目录区的文件头删除而已,原来的文

    excel常用函数都有哪些?

    excel常用函数都有哪些?,函数,哪些,常用,1、SUM函数:SUM函数的作用是求和。函数公式为=sum()例如:统计一个单元格区域:=sum(A1:A10)  统计多个

    U盘打开提示格式化

    U盘打开提示格式化,,U盘打开提示格式化的格式也变成什么R什么W格式,怎么办格式化前没有问题,我不知道什么是我的U盘。 网民分析了答案: 1。