LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 550|回复: 9

关于 long long 的使用问题。

[复制链接]
发表于 2004-1-2 22:34:40 | 显示全部楼层 |阅读模式
long long 应该怎样printf?
下面的程序运行有错,不知道为什么。
只是数学计算而已啊。
[PHP]
#include<stdio.h>
#define N 1000
int main(){
long long buff1[N]={0};
long long buff2[N]={0};
long long buff3[N]={0};
long long buff4[N]={0};
int count;
long long tmp;
int i,j,k;
for(i=0;i<N;i++){
        tmp=i*i*i*i%N;
        buff1=tmp;
        buff2[tmp]=1;
//        printf("%2d=>%2d\n",i,buff1);
        }
for(i=0,count=0;i<N;i++){
        if(buff2==1){
                buff3[count++]=buff1;
//                printf("%2d\n",i);
                }
        }
printf("count=%d\n",count);
fflush(stdout);
for(i=0;i<count;i++){
        for(j=0;j<count;j++){
                for(k=0;k<count;k++){
                        tmp=(buff3+buff3[j]+buff3[k])%N;
                        if(buff4[tmp]==0){
                                buff4[tmp]=1;
                                printf("%d\n",tmp);
                                }
                        }
                }
        }

[/PHP]
发表于 2004-1-2 23:45:03 | 显示全部楼层
%lld
 楼主| 发表于 2004-1-3 00:04:59 | 显示全部楼层
好像是溢出的问题。

但是long long 是8位怎么还不够呢?

4×(1000^4)才4×10^12次方啊。

是求模出错吗?
发表于 2004-1-3 00:14:05 | 显示全部楼层
printf里int用%d,long int用%ld,long long int用%lld
发表于 2004-1-3 00:48:42 | 显示全部楼层
还有long long int :!! :!!
估计还有 long long float
long long unsigned ,....
发表于 2004-1-3 02:11:44 | 显示全部楼层
没有long long float
有long long unsigned int,printf中用%llu
例:

  1. #include <stdio.h>

  2. int
  3. main(void)
  4. {
  5.   long long int ll;
  6.   long long unsigned llu;

  7.   ll = 8888888888888888888LL;
  8.   llu = 18346744073709551616LLU;

  9.   printf("ll: %lld\nllu: %llu\n", ll, llu);

  10.   exit(0);
  11. }
复制代码
 楼主| 发表于 2004-1-3 11:51:40 | 显示全部楼层
有没有比long long 更大的整数类型?
哪里可以得到基本类型的说明?
发表于 2004-1-3 15:38:31 | 显示全部楼层
最初由 lordbyorn 发表
有没有比long long 更大的整数类型?
哪里可以得到基本类型的说明?

不知道double float > long long int  ??
看C的入门书!
 楼主| 发表于 2004-1-3 16:07:09 | 显示全部楼层
long double 都知道。
我要的是整数类型。
发表于 2004-1-3 16:17:31 | 显示全部楼层
输入:
格式字符,%md,%mo,%mx
数据对象。
int,short unsigned int, unsigned short

无m按实际位数输入,有m输入m位不足m位则跟回车。

%mld,%mlo,%mlx
long,unsigned long

输出:
%-md,%-mo,%-mx,%-mu
数据对象,
int,short,unsigned int ,unsigned short,char
无m按实际位数输出,有m输出m位,超过m位,按实际位数输出,不足m位,补空格。
无-右对齐,有-左对齐。


%mld,%mlo,%mlx,%mlu
long,unsigned long
解释同。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表