當前位置:首頁 » 編程語言 » c語言大整數

c語言大整數

發布時間: 2022-04-13 12:28:40

c語言 大整數乘法

#include <stdio.h>
#include<string.h>
int main()
{
int i,j,k=0;
char a[201]="0",b[201]="0",c[401]="0"; //這里將c[0]設為『0』,影響到下面輸入
scanf("%s%s",a,b);
for (i=0;i<=strlen(a)-1;i++)
for (j=0;j<=strlen(b)-1;j++)
{c[i+j+1]+=(a[i]-'0')*(b[j]-'0');}
k=(strlen(a)+strlen(b)-1);
for (;k>=1;k--)
{
c[k-1]+=c[k]/10;
c[k]=c[k]%10; //這一步會將c[k]破壞,所以倒轉
}
if(c[0]!='0') //若最高位為0,則不輸出;
printf("%c",c[0]);
j=strlen(a)+strlen(b);
for (i=1;i<j;i++)
{
printf("%d",c[i]);
}
return 0;
}
======================================
系統報錯的原因是c[1]是char型,不是字元串數組,要用%c而是%s,我想你是把i寫成了1了

Ⅱ C語言數組存儲超大整數

模擬整數除法即可:

#include<stdio.h>
intmain()
{
charstr[101];
intn,i,bcs;
scanf("%d",&n);
getchar();
while(n--){
scanf("%s",str);
bcs=0;
for(i=0;str[i]!='';++i){
bcs=10*bcs+str[i]-'0';
bcs%=9;
}
if(bcs==0){
printf("Y ");
}
else{
printf("N ");
}
}
return0;
}

Ⅲ C語言大整數的四則運算

#include<stdio.h>
intmul(inta[],intk)
{inti,t=0;
for(i=1;i<=a[0];i++)
{a[i]=k*a[i]+t;
t=a[i]/10;
a[i]%=10;
}
for(i=a[0];t;)
{a[++a[0]]=t%10;
t/=10;
}
}
intmain()
{inti,n,a[102]={1,1};
scanf("%d",&n);
printf("%d!=",n);
for(i=2;i<=n;i++)
mul(a,i);
for(i=a[0];i>0;i--)
printf("%d",a[i]);
return0;
}

Ⅳ c語言中怎樣輸入一個很大的整數

可以利用字元數組來存放整數的各位數值,即將整數當成一串字元來輸入。

如果要輸入12345678901234567890,則定義一個char型數組a[20],將用戶輸入的整數當成一串字元存入字元數組a中。


具體實現方法可以參考如下程序段:

chara[20];
scanf("%s",a);//輸入12345678901234567890,即可將該整數輸入到字元數組a當中
//則數組a中各元素值為a[0]='1',a[1]='2',a[2]='3',.......,a[19]='0'
//在進行運算的時候將字元轉換為數字即可(即a[i]-'0')

Ⅳ C語言中怎樣表示大整數

long long是最大的,應該可以表示幾十位把
是在不行,就用數組來做,這個可以做相應的加減乘除子函數

Ⅵ c語言程序設計:大整數的加減法

用rand()產生隨機數,rand()會產生從0到一個很大的數,我記不清了,反正很大。如果想出現100以內的,就用rand()%100。你可以定義三個int型整數,兩個表示加或者減的對象,另一個標示加或者減,因為只要出現兩種情況之一,所以可以用rand()%2,這樣只會有0,1兩種情況來標示加或者減。下面的就很容易了inta,b,i,c;for(i=0;i<10;i++){a=rand()%100;b=rand()%100;c=rand()%2;if(c==0)//標示加法{printf("%d+%d=%d\n",a,b,a+b);}else{printf("%d-%d=%d\n",a,b,a-b);}}大致就這樣,希望給你點幫助

Ⅶ C語言中的大整數儲存問題

這要知道
原碼、補碼與反碼的關系。
在c語言中,負數是用補碼表示的。
最高位為1,表示負數,為0表示正數
以八位為例,8在內存中的形式是00001000;
-8就是8的原碼的反碼+1
反碼:11110111
補碼:11110111
+
1
=11111000。這就是其形式。
樓上給出的是16位形式~

Ⅷ C語言中最大的整型數和最小的整型數是什麼

C語言中最大的無符號整型常數為65535,最小的無符號整型常數為0。最大的有符號整型常數為32767,最小的有符號整型常數為-32768。

在C編譯系統中,基本整型的長度也為16位,因此表示的數的范圍也是有限定的。十進制無符號整常數的范圍為0~65535,有符號數為-32768~+32767。如果使用的數超過了上述范圍,就必須用長整型數來表示。長整型數是用後綴「L」或「l」來表示的。

(8)c語言大整數擴展閱讀:

無符號整型常數的類型說明符為unsigned。可以單獨使用代表unsigned int,也可以作為前綴,表示無符號整數,即永遠為非負的整型變數,大於0的數據范圍約擴大為原來的2倍。各種無符號類型量所佔的內存空間位元組數與相應的有符號類型量相同。但由於省去了符號位,故不能表示負數。

長整數158L和基本整常數158在數值上並無區別。但對158L,因為是長整型量,C編譯系統將為它分配4個位元組存儲空間。而對158,因為是基本整型,根據計算機的內部字長和編譯器的版本分配2或4個位元組的存儲空間。因此在運算和輸出格式上要予以注意,避免出錯。

Ⅸ C語言怎麼計算大整數

在C裡面,最大的整型是unsigned long
在C++裡面,最大的是__int64,也就是LONGLONG,是64位的整型。
atoi函數的返回值是int型的,如果你想要大整數,可以用_atoi64函數,它的返回值是__int64。

如果還想超過LONGLONG,那麼自己定義一個類型,或者用LONGLONG數組來實現吧。不過就沒有直接的類似atoi的函數可以用了。

另外,不要求很精確的話,用double型來代替整數也可以。有atof函數可以用。

熱點內容
sql語句動態 發布:2025-01-20 16:18:22 瀏覽:297
sql表或的語句 發布:2025-01-20 16:00:49 瀏覽:162
西瓜視頻怎麼緩存不了電影了 發布:2025-01-20 16:00:45 瀏覽:889
javatimer 發布:2025-01-20 15:55:56 瀏覽:63
ts使用什麼編譯器 發布:2025-01-20 15:54:59 瀏覽:381
資料庫中已存在 發布:2025-01-20 15:35:44 瀏覽:109
壓縮超過密度 發布:2025-01-20 15:35:33 瀏覽:647
和她在一起的日歷怎麼弄安卓 發布:2025-01-20 15:29:29 瀏覽:639
android6華為 發布:2025-01-20 15:28:06 瀏覽:692
荔枝fm怎麼上傳錄音 發布:2025-01-20 15:22:27 瀏覽:107