怎麼用無符號整型或字元型陣列儲存任意長整數

2023-04-19 22:45:02 字數 3569 閱讀 6723

1樓:網友

給你個設計吧。

主流商業級的大整數庫一般用2個位元組16bit unsigned short陣列作為儲存單元。

class biginteger

用16bit做儲存單元,2個16bit數的加減乘除都可以用32bit作為寄存單元,不會溢位。

大多數cpu都支援32bit字長,效能也最好。

相當於實現乙個16bit,65536進製的整數器。10進製每逢10進1,65536進製每逢65536進1,這樣65536之下的數值只要計算1次,40億以下的數值只要計算2次。開銷也小。

四則運算,都用小學豎式法求,每數字由小學的0到9,變成現在的0到65535.

比如求65535+1=?

unsigned int r; /32bit的寄存變數。

unsigned short d0,d1;//加數、被加數寄存變數。

unsigned short d=new unsigned short[2];/等同biginteger::d

d0=65535,d1=1;

r=d0;r+=d1;

d[0]=r&0xffff;

d[1]=r>>16;

這樣d[0],d[1]就得到分散儲存的乙個無限位數的值。

d的長度是不限,可以計算天文級的數字。

顯示的時候,反覆除10得到商和餘數轉成10進製。

2樓:網友

一般可以利用long的陣列進行長整數的運算。每個long保留8~9位10進製的數值。

用char陣列也行,就是效率沒有long陣列來得高。

為什麼整型陣列可以輸入儲存字串,字元陣列又可以輸入儲存整數? 10

3樓:匿名使用者

所有的源**都會被編譯器編譯成目標**(機器語言,即01**的語言)

char和int對程式來說,兩者是一樣的,在內部是一一對應的。比如 char型別的『a』 和 int型別 的65 是等價的。

4樓:

因為它們都是整數元素,只是輸出時按整數輸出或按字元輸出的區別而已……比如int x=97;,用printf("%d",x);輸出就是97,而用printf("%c",x);輸出就字元a。

c語言裡怎樣理解長整型 短整型 和無符號型變數和常量?

5樓:文化廚子

bai 1、變數:是一塊記憶體區du域,一塊記憶體包含兩zhi個屬性,乙個是位址dao,乙個是儲存的版內容,即值。所權以在c語言中每個變數都有乙個位址,也有自己儲存的內容。

2、常量:指的是不會被修改的量,這個概念實際上來自組合語言中的立即數概念,它是儲存於指令**中的。

3、整型:用於描述整數的資料型別。

4、長整型、 短整型 、無符號整型,主要是通過整數的符號以及所佔記憶體位元組的大小來區分的,做為整數可以分為正數和負數,因此c語言中有了無符號數和有符號數的區別,無符號整型,最小值是0,最大值為2^n-1,n是在記憶體中型別所佔的位元組數。 一般來說,int型別佔4個位元組,short短整型佔2個位元組,long長整型佔4或者8個位元組。具體所佔位元組的大小可以通過sizeof運算子來獲取。

6樓:

但是長整型來。

短整型怎樣理解?自它們跟基本整形有什。

bai麼區別?du

short int <=int <=long int定義這三種是zhi為了節約儲存空間。

dao在保證資料不溢位的情況下選擇需要空間最短的unsign int 是在都為正數的情況下節約儲存空間而定義的都是2進製儲存在記憶體中。

7樓:匿名使用者

進製一般來復。

說都是10進製制,下面以10進製為例。

不同整型可以表示的範圍不同,可以根據實際需要選擇不同的整形。

各種整形的範圍請參見下表。

至於原理就涉及到二進位制等知識了,初學c語言沒必要深究,一般整形只用int型別就足夠了。

8樓:匿名使用者

因為字來節數不同,所以能表自示的數的bai範圍就不一樣了du啊。

無符號就是不把最。

zhi高位看成符號dao位。比如11111111,有符號數是把最高位的1看成符號位,表示負數,11111111就表示-1.無符號數則把最高位的1也看成是數的一部分,1111111就表示65535.

9樓:匿名使用者

無符號bai和有符號的區du別就是存資料。

時有zhi符號的資料在dao儲存單元留出一位保留符號。專。

而無符號屬的則不用留出一位來保留符號,所以無符號的資料存貯的最大位數比有符號的大一位所以其相當於左移一位,也就是通常看到的無符號的資料的取值範圍是有符號的數的2倍。

c語言 長整數四則運算及階乘問題 求**

10樓:匿名使用者

c++行嗎……c不太擅長,不過也差不多的。

c語言求乙個無符號長整數各位元組值實現

11樓:匿名使用者

union

u;例子:(假設在32位機器上)

那在intel機器上用c來輸出 l 中每個位元組的值int i;

for( i=0;i結果就是:

在蘋果機器上每個位元組的順序應該是和intel反過來的,這是因為cpu架構不同,和本題無關。

我沒編譯過,你可以試下並優化一下。有問題再問。

整型,長整型,無符號整型,單精度,雙精度,字元型,各佔多少位元組?

12樓:一鹿有你

整型和無符號整型:2位元組。

長整型:4位元組。

單精度浮點數:4位元組。

雙精度浮點數:8位元組。

字元型:1位元組。

例:int a; /基本整型。

long int b; /長整型。

char c; /字元型。

float d; /單精度浮點型。

double e; /雙精度浮點型。

char s[20]; 字元型陣列或字串型。

整型,長整型,無符號整型,單精度,雙精度,字元型,各佔多少位元組?

13樓:一鹿有你

整型和無符號整型:2位元組。

長整型:4位元組。

單精度浮點數:4位元組。

雙精度浮點數:8位元組。

字元型:1位元組。

例:int a; /基本整型。

long int b; /長整型。

char c; /字元型。

float d; /單精度浮點型。

double e; /雙精度浮點型。

char s[20]; 字元型陣列或字串型。

14樓:匿名使用者

整型和無符號整型:4位元組。

長整型:64位系統是8位元組,32位系統4位元組(注意即便系統是64位用的編譯器是32位也算32位);如果32位系統想用8位元組的,可以用long long型,64位還是32位都是8位元組的。

單精度浮點數:4位元組。

雙精度浮點數:8位元組。

字元型:1位元組。

這是什麼字或什麼符號,請問這是什麼字或符號,什麼意思?

是變形字。就是 電 字。現在郵電系統的符號。爻拼 音 y o部 首 爻 筆 畫 4 五 行 火 五 筆 u 生詞本基本釋義 詳細釋義 組成 周易 卦的長短橫道,即 和 是陽爻,是陰爻。請問這是什麼字或符號,什麼意思?密宗 阿 的梵文種子字,毗盧遮那佛灌頂光明,金剛薩埵,阿莫提觀音等共通種子字。這是什...

推出符號怎麼用,數學推出符號怎麼用?

如果是我們有用到的而且能打出來的,你點下word上面的插入,再先符號,裡面應該有你想要的 word推出符號 數學推出符號怎麼用?推出符號 數學裡用的推出符號 怎麼打出來的?方法一 直接複製 方法二 在html中可以使用 來顯示 分號不可缺少 方法三 在要求不高的情況下,可以輸入 等號 加上大於號 代...

無理數用符號怎麼表示無理數集用什麼字母或符合表示??

無理數集crq,實數集r,有理數集q。無理數,也稱為無限不迴圈小數,不能寫作兩整數之比。若將它寫成小數形式,小數點之後的數字有無限多個,並且不會迴圈。常見的無理數有非完全平方數的平方根 和e 其中後兩者均為超越數 等。無理數的另一特徵是無限的連分數表示式。無理數 r q,因此數學家沒有定義無理數的符...