关于__int64,__int32,long long

来源:互联网 发布:逆光源网络剧百度云盘 编辑:程序博客网 时间:2024/06/06 20:23

1.64位整型的定义方式有long long和__int64两种(VC还支持_int64),而输出到标准输出方式有printf(“%lld”,a),printf(“%I64d”,a),和cout << a三种方式。

2.long long ---->  IId    (I/O)  可以(VC6.0不支持long long)

                   ---->  I64d (I/O)  不可以

   __int64    ---->  IId    (I/O)  不可以

                   ---->  I64d (I/O)  可以

3.

  1. void printint64(long long a)  
  2. {  
  3.     if (a<=100000000)  
  4.         printf("%d/n",a);  
  5.     else  
  6.     {  
  7.         printf("%d",a/100000000);  
  8.         printf("%08d/n",a%100000000);  
  9.     }  
  10. }  

  我的试验是分别用两者输出1000000个随机数,实际结果是,printint64()在1.5s内跑完了程序,而cout需要2s。cout要稍慢一些,所以在输出大量数据时,要尽量避免使用。

4.    说明:1、int64不能用作为循环变量             2、int64的操作速度较慢

5.32位平台

char         1个字节8位
short        2个字节16位
int            4个字节32位
long         4个字节
long long 8个字节
指针         4个字节

64位平台

char         1个字节
short        2个字节
int            4个字节
long         8个字节(区别)
long long 8个字节
指针        8个字节(区别)


0 0
原创粉丝点击