%lld 和%I64d 区别 输出64位16进制 float与double输入与输出的区别
(一)%I64x和%lld两种都是C语言中格式化输出64位整型的正确做法。区别在于编译器不同。gcc(mingw32),g++(mingw32)只支持%I64d的输出方式。gcc(linux i386),g++(linux i386)只支持%lld的输出方式。另外,mac上的gcc/g++不支持%I64d的方式。(二)输出64位数的十六进制可以用 %llx,也可以用%I6...
(一)
%I64x和%lld两种都是C语言中格式化输出64位整型的正确做法。
区别在于编译器不同。
gcc(mingw32),g++(mingw32)只支持%I64d的输出方式。
gcc(linux i386),g++(linux i386)只支持%lld的输出方式。
另外,mac上的gcc/g++不支持%I64d的方式。
(二)
输出64位数的十六进制可以用 %llx,也可以用%I64x,I64表示64位int值(I32表示32位int值,i必须大写), x表示十六进制形式显示,小写的x表示16进制的字母以小写的形式输出(a,b,c,d,e,f),大写的X表示十六进制的字母以大写的形式输出(A,B,C,D,E,F)
(三)
在printf中%d用于int或者比int小的整数类型。比int小的类型被转型成int。
%ld用于long类型,%lld用于long long类型。
%x标识的数会被当成int进行读取,所以long long类型的数如果超过int的范围会被截断,得不到正确的结果。而且因为它多占了4个字节,还会影响后面的其它标识符的输出。
输入 float用%f,double用%lf,输出都是用%f
原文:https://blog.csdn.net/fz_ywj/article/details/8107582
原文:https://blog.csdn.net/ShellDawn/article/details/74177892
更多推荐
所有评论(0)