printf如何输出64位整数
From: http://blog.csdn.net/zzqhost/article/details/6064886
关于printf函数输出64位数的问题,其实在window下和linux下是不一样的:
linux下是
printf("%lld/n",a);
printf("%llu/n",a);
windows下是
printf("%I64d/n",a);
printf("%I64u/n",a);
完整程序如下:
- [zcm@c #51]$cat a.c
- // linux平台C程序
- #include <stdio.h>
- typedef unsigned long long int64;
- typedef unsigned long long uint64;
- int main ( void )
- {
- int64 c = 0x123456789LL; // 有符号
- uint64 uc = 0x123456789ULL; // 无符号
- printf("%lld, %llu\n", c, uc); // 整数形式输出
- printf("%llx, %llx\n", c, uc); // 十六进制格式输出
- printf("%#llx, %#llx\n", c, uc);// 带0x的十六进制格式输出
- return 0;
- }
- [zcm@c #53]$make
- gcc -g -O2 -o a a.c
- [zcm@c #54]$./a
- 4886718345, 4886718345
- 123456789, 123456789
- 0x123456789, 0x123456789
- [zcm@c #55]$
[zcm@c #51]$cat a.c
// linux平台C程序 #include <stdio.h> typedef unsigned long long int64;
typedef unsigned long long uint64; int main ( void )
{
int64 c = 0x123456789LL; // 有符号
uint64 uc = 0x123456789ULL; // 无符号 printf("%lld, %llu\n", c, uc); // 整数形式输出
printf("%llx, %llx\n", c, uc); // 十六进制格式输出
printf("%#llx, %#llx\n", c, uc);// 带0x的十六进制格式输出 return 0;
}
[zcm@c #53]$make
gcc -g -O2 -o a a.c
[zcm@c #54]$./a
4886718345, 4886718345
123456789, 123456789
0x123456789, 0x123456789
[zcm@c #55]$
jpg改rar
printf如何输出64位整数的更多相关文章
- 跨平台(32bit和64bit)的 printf 格式符 %lld 输出64位的解决方式
问题描述 在 C/C++ 开发中,使用 printf 打印 64 位变量比较常用,通常在 32 位系统中使用 %lld 输出 64 位的变量,而在 64 位系统中则使用 %ld: 如果在 32 位系统 ...
- C++的64位整数
在做ACM题时,经常都会遇到一些比较大的整数.而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647.而unsig ...
- CH 0101 - a^b / CH 0102 - 64位整数乘法 - [快速幂和快速乘]
0101 a^b 题目链接:传送门 描述 求 a 的 b 次方对 p 取模的值,其中 1≤a,b,p≤10^9 输入格式 三个用空格隔开的整数 a,b 和 p. 输出格式 一个整数,表示 a^b mo ...
- CH0101 a^b、 CH0102 64位整数乘法(快速幂、快速乘)【模板题】
题目链接:传送门 //a^b 传送门 //64位整数乘法 题目: 描述 求 a 的 b 次方对 p 取模的值,其中 ≤a,b,p≤^ 输入格式 三个用空格隔开的整数a,b和p. 输出格 ...
- CH0101 a^b & CH0102 64位整数乘法
大数取模的两道题. 虐狗宝典学习笔记: 两个数值执行算术运算时,以参与运算的最高数值类型为基准,与保存结果的变量类型无关.两个32位整数的成绩可能超过int类型的表示范围,但是CPU只会用一个32位寄 ...
- C/C++中的64位整数
C/C++中的64位整数(__int64 and long long) 在做ACM题时,经常都会遇到一些比较大的整数.而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31, ...
- windows 64位整数
#include <iostream> #include <ctime> using namespace std; int main() { cout << cou ...
- C对64位整数类型的支持
在使用C语言过程中可能需要接触长整数类型,其中包括固定长度数据类型的声明.输入输出函数的标志符等细节,在此记录. int64_t 与 uint64_t C的标准只规定特定数据类型需要实现的最小长度,特 ...
- CH0102 64位整数乘法 数论
正解:数论/一个神仙想法 解题报告: 先放传送门qwq 两种方法,都还挺妙的就都写了qwq 第一种是快速幂 把b用二进制表示成,ck*2k+ck-1*2k-1+...+c0*20 然后就可以表示成,a ...
随机推荐
- linux信号程序编译遇到的问题
如果把这个去掉-std=c99就会运行通过 还有一点就是 for(int i=0;i<n;i++) 在循环里声明变量仅被用在c99里面.也就是要想在循环里面声明变量,就必须使用-std=c99
- 对设计领域中Tile和Card的理解
前端工程师离不开设计, 谈到设计就要想到大名鼎鼎的material design主题, 而material是以card为经典单元的, card即卡片, 是层次化模型的最小模块, 用于提供扁平化的信息, ...
- orcale创建用户、授权
Oracle创建用户.角色.授权.建表 一.首先使用SYSTEM进行登录 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用 ...
- javascript获取URL参数和参数值
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 异常:Error:Execution failed for task ':app:compileDebugJavaWithJavac'. > Compilation failed; see the compiler error output for details.
碰到这个异常我也是挺无语的,因为Android Studio根本不会提示你详细的错误信息. 我们来看看这个博主:http://blog.csdn.net/runner__1/article/detai ...
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (一)
2D文字聊天界面大致预期实现文字输入.发送消息.接收消息.你可以通过点击按钮让机器人开启聊天模式或者学习模式.又或是进入3D语音聊天界面或者退出. 目背景 (1) 开发动机的形态 随着科技的进步与生活 ...
- Hibernate中createCriteria即QBC查询的详细用法
现在假设有一个Student类,内有id,name,age属性String hql = "from Student s";按照以前的做法,我们通常是Query query = se ...
- C++ 类的头文件、实现、使用
再次吐槽下C++Primer这本书,啰哩啰嗦,废话太多.如果我来翻译的话,绝对删减一堆没用的---仅限于发牢骚. 不知道是否经典的做法 类中的成员声明在头文件中,定义(我更喜欢叫实现)在源文件中,使用 ...
- 单精度浮点数(float)加法计算出错
场景: 一个float型的变量赋值1170601,加上19000000,结果出现错误. 原因: float占用4个字节(32位)存储空间,包括符号位1位,阶码位8位,尾数23位.浮点数精度与它的尾数有 ...
- php微信开发 -- 两种运营模式及服务器配置
微信的两种运营模式 编辑模式:使用微信公众平台提供的功能 开发者模式:通过腾讯的api接口调用相应程序进行二次开发 编辑模式 应用场景: l 不具备开发能力的运营者 l 主要是进行品牌宣传.新闻媒体. ...