2 useruser1 useruser1 于 2014.11.22 22:44 提问

求解c语言的一个关于定义整形变量的问题
c

为何定义一个不超100位的整形变量要用?
unsign long long
除了这个还有别的能用吗?

5个回答

xiaozhang112889
xiaozhang112889   2014.11.22 23:20

用字符串把~~前面位数不足的补0,运算的时候参见大数相加等~输出的时候记得别输出前面的0

xiaozhang112889
xiaozhang112889 回复useruser1: 二进制??No,依旧是十进制,更普通字符串内部存储是一样的,只不过字符串每一个字符范围是0~9,用来代表100位整数的其中一位;
3 年多之前 回复
useruser1
useruser1 这个定义的100位变量应该是二进制是吗?
3 年多之前 回复
lm_whales
lm_whales   Rxr 2014.11.25 11:00

unsign long long 也只有64Bits
还是不够用
用 数组吧

lm_whales
lm_whales   Rxr 2014.11.25 11:01

其中字符串就是一种特定格式的数组

caozhy
caozhy   Ds   Rxr 2014.11.22 23:58

100位只能用字符串了,google C语言 大数运算

turingo
turingo   Rxr 2014.11.25 17:42

大数运算可用GMP库,参考我的博文http://blog.csdn.net/turingo/article/details/8249799

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
printf 使用%f输出整形变量,为什么为0?
#include void main(){      int i = 65535;     printf("%f",i) } 1,之所以没输出65535,这是C语言设计的原因。 2,之所以输出0,这是计算机体系结构的问题。 具体原因如下(至今无标准答案) 1、printf函数不进行任何类型转换,它只是从内存中读出你所提供的元素的值(按照%d,%f等控制字符提示的格式)。int型以补码
C语言指针定义变量方式
用变量a给出下面的定义: 1、  一个整型数; int a;   2、  一个指向整型数的指针; int *a;   3、  一个指向指针的指针,它指向的指针是指向一个整型数; int **a;   4、  一个有10个整型数的数组; int a[10];   5、  一个有10个指针的数组,该指针是指向一个整型数的; int *a[10];   6、  一个指向有
C语言整形常量定义
在书中看到这样一道题目:用预处理指令#define声明一个常数,用以表明一年中有多少秒。书中给的答案是: #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 写一个小程序测试此宏定义,如下: #include #define SECONDS_PER_YEAR (60*60*24*365)UL int main() { pr
C语言 变量作为函数定义中的实参写法
2015 0606         一直在用数组作为实参,因为在函数定义中,数组名等同于数组第一个数据的地址,所以用作实参的时候很方便(因此,想要通过函数改变数组中的数据是比较方便的)。但是今天编程的时候遇到的问题就是,一旦变量不是全局变量,它在各种函数内使用和修改受到很大局限,所以查找了一下变量作为函数定义里实参的用法。 百度里的错误例子: #include int show1(int
C语言数据类型—整型的几种类别及其使用
关于定义整型变量的几个关键字的理解和整理!
二进制数给整型变量赋值?
C语言中的数据基本类型包括:char short int long float double . 用哪种类型定义的就叫XX类型变量,如字符型变量,整型变量,浮点型变量。各种变量中存储的数据,都是以二进制进行存储的。因类型的不同,采用的二进制编译格式不同。如:整形类都是用补码存储,浮点型采用IEEE754标准存储。1 c语言中,变量不可以用二进制数来赋值2 在c语言中,若要给变量赋整型值,则只可以用
c语言:通过指针变量访问整型变量
通过指针变量访问整型变量。程序:#includeint main(){ int a = 2, b = 3; int *p1=NULL, *p2=NULL; p1 = &a; p2 = &b; printf("a=%d,b=%d\n",a,b); printf("*p1=%d,*p2=%d\n",*p1,*p2); return 0;}结果:a=2,b=3*p1=2,*p2=3请按任意键继续. . 
C语言之交换两个整型变量的值(四种方法)
C语言中有一道题目是交换两个整型变量的值,这是一道非常简单的题目,那么一共有几种方法呢?以下是我整理的四种方法,是在MAC系统x-code环境下编译并运行成功的,以下为截图: 方法一:通过引入第三方整型变量: 评论:一般认为这种方法最简单,需要思考的东西最少,简单实用 方法二:没有引入第三方变量,完全通过两个整型变量自身的作用进行交换值: 评论:这种方法主要是考察逻辑思维,相信正常
C语言几种整形类型的区别
今天写了一道算法题,碰到long int类型定义的变量,竟然不知道什么意思。。。 查资料,总结分享如下: int数据类型的位数为16位,short int数据类型的位数也是16位。而long int的位数为32位,可用来存储比较大的整数。 short int 和 long int可以缩写为short 和 long。 C语言中的整型数据类型int、short int 和 long i
C语言中整型的定义
使用C语言时,用sizeof运算int,long int,long long int时,得到的结果不尽相同。那么这些类型长度与什么有关?与机器?与编译器(语言实现)?还是操作系统? 我查阅了一些资料,将之总结下来,希望能有一些参考价值。也欢迎指正纠错,共同学习! C语言的实现一般由编译器和标准库开发者提供,而这部分开发者有很多,常见的编译器有微软的vc,GNU的gcc,Borland的