C 位元組長度比LONG長的數

2023-08-17 23:09:50 字數 2523 閱讀 3350

1樓:匿名使用者

你問的是不是位元組比long長的資料型別,如果是的話,有double ,long double這兩種了!

2樓:匿名使用者

unsgin long int float double 用字串儲存的數是最大的。

我想可以這麼做,用double做, 然後加幾條判斷,首先兩個相加,然後把得數儲存在字串中,然後在判斷 ,你的和數是不是比兩個數小, 如果小的的話就在你那個字串中的第一位加一個1,, 輸出的 時候直接輸出字串就可以了, 因為字串在螢幕上的輸出和數字在螢幕上的輸出是看不出區別來的。

c++ int和long int佔幾個位元組

3樓:匿名使用者

在c/c++語言中,int和long int的所佔的位元組數與編譯器有關。

不過現在常用的編譯器多認為int和long int相同,均為4位元組,short為2位元組,char為1位元組。

如果只輸入int,它是可以包含以上三種形式。

不同的語言不太一樣,例如在pascal中integer為2位元組,byte為1位元組,而longint為4位元組。

建議您最好參考您桐襲的編譯器的具體幫助,以得到更準確的資訊。

使用前最好sizeof(int) 看看當前編譯器如何定義的。

依據程式編譯器的不同,int定義的位元組數不同。(資料佔用記憶體儲器的大小不同)

常用的微控制器編譯器,如keil下,51類微控制器的c語言中,int代表2個位元組(16位);如果是32位ram處理器的c語言中,則int代表4個位元組(32位)

pic微控制器的picc中8位系列微控制器的c語言裡int表示16位。

而不少pc端軟體的編譯器則會根據作業系統或處理器(如64位xp)把int定義為8位元組(64位)

所以在多平台上程式設計的人員需要在使用時注意。

如需定義16位數,可使用short(短、短整數型別)定義。

c中關於int的位元組數

4樓:飛葉舞空

在c語言中如果單獨在**出現一個數字的話,sizeof (0),裡面的0,會被當作int型的常量處理,所以是4個位元組,如果是'0', 這個才是一個英文字母,也就是char型別,按理說應該是1個位元組了吧,這個可不一定,因為ascii-c標準(也就是c89標準,最近的是ios-c標準))裡要求在處理字元型別的資料的時候要把型別提升為int處理,但這個規定不是所有的編譯器都遵守,所以在windows的編譯器和linux系統下的gcc編譯器sizeof('0')是4,unix-aix系統的cc編譯器的sizeof('0')是1(我在這些不同的系統下的這些編譯器都試過了)

另外如果是,會預設是double型別的常量,sizeof(是8當然我說的這些都是在32位系統下的情況,32為的系統int型為4位元組。

5樓:匿名使用者

其他編譯器我不知到,但是在vc下,0,1,2,3這些整數的常數是當做int處理的。

所以sizeof(0)等價於sizeof(int)等小數都是當做double處理。

所以sizeof(等價於sizeof(double)sizeof('0')才是一個位元組。

6樓:匿名使用者

但有說一個英文字母或者數字佔一個位元組,一個漢字佔兩個位元組。

這個跟你申明的變數型別和取值範圍有關,使用char型別 存貯英文字母或者小於128的數時只需要一個位元組啊。漢字是由兩個ascii碼組成的雙位元組字元,一個位元組表示不了完整的漢字,所以說佔兩個位元組。

7樓:匿名使用者

不同的系統,int的位元組數是不同的,比如在linux早期版本上,int是2個位元組。

在及以上int是4個位元組。

與系統有關的,而非定值。

8樓:匿名使用者

這是編譯器預設數字是int型的,沒什麼好說的如 sizeof(0ll) 將會是8個位元組sizeof((char)0) 1個位元組。

sizeof((short)0) 2個位元組。

9樓:linux小小鳥

0和‘0’是不一樣滴,‘0’是字元,0是數,編譯器會預設0是整形滴。

所以sizeof(0) =sizeof(int)

10樓:匿名使用者

直接0是數字,自然是int型4位元組,加單引號‘0’,才表示字元型,1位元組,可以sizeof試下。

11樓:

0,1,2雖然是數字,但是在編譯的時候是作為int型別儲存在靜態儲存區,所以是相當於int的大小。

12樓:

sizeof (‘0’)才是1。按照常量表示法,0和‘0’是不一樣的,一個是int一個是char

13樓:網友

一個英文字母或者數字佔一個位元組。

這裡指的是ascii碼值。

14樓:相愛南風

可以表示32位4個位元組的。

15樓:匿名使用者

不同編譯器有不同的實現。

長度為位元組的二進位制整數,若採用補碼錶示,且由「1」和「0」組成,則可表示的最小十進位制整數為

一個位元組,為8位。用補碼錶示,就是在沒有數字的位上用0補齊。就是 00011111 十進位制為 31 補碼又是最小,那麼這個肯定是負數,懂吧?既然要求最小,那麼1就應該在高位上,越多越好。符號位是一個1,後邊剩四個1,那麼補碼就應該是10001111,反碼是10001110,原碼是11110001...

內長是不是就是鞋墊的長度鞋墊長度是235是幾多碼

首先判斷是男鞋還是女鞋,如果是女鞋的話,245以下的就是女鞋了,女鞋多長就是鞋墊的長度,男鞋相同碼數的話比女鞋鞋墊長1cm,同樣39碼比如,男鞋鞋墊長度就是255cm,女鞋是245cm,差了兩個碼的長度。如果 你的是235的話就是37碼,如果鞋墊長是245的話,對應男鞋腳長就是235,也就是男鞋的3...

在C 中float和double型別的長度分別為多少

在32位的機子 也就是目前很多人用的機子型別 上,float 型別是 4個位元組,double 型別是 8 個位元組。float是四個位元組,每個位元組8位,共4 8 32位 double是八個位元組,每個位元組8位,共64位 c 中float和double的區別 是這樣的,你程式裡制的小數,比如f...