誰能詳細解釋下c語言中字元和數字的儲存區別

2021-12-26 03:25:53 字數 4839 閱讀 9729

1樓:陽光沒有眼睛

字元變數用char定義 char c='1' ; '1'在ascii**是49系統把整數49賦值給c

字元'1'只是代表形狀為'1'的符號,在記憶體中佔一個位元組,00110001(49)

整數1在記憶體中佔兩個或四個位元組00000000 00000001(1)

int c=1;

2樓:匿名使用者

字元是以ascii碼的方式儲存:

比如大寫字母a的ascii是65,因為65的二進位制是0100 0001,因此a在電腦內部以二進位制0100 0001的方式儲存

數字相對複雜一點:

無符號整數,以二進位制的模式進行儲存,比如數字20,它的二進位制數十0001 0100,因此數字20在電腦內部以二進位制0001 0100的方式儲存,當然也可能是0000 0000 0001 0100 ,具體要看變數佔幾個位元組。

有符號整數,一般第一碼是符號位,1代表負數。正數的表達和無符號整數類似,負數的表達一般採用符號位+補碼的形式。比如-3,因為3的二進位制是0000 0011,去掉第一位的符號位補碼為111 1101,再加上符號位,就是 1111 1101。

同上具體儲存幾位與變數佔幾個位元組有關。

最複雜的是浮點數,二進位制中包含符號位,底數,冪。有一個專門的標準格式來定義浮點數的符號位,底數,冪的具體格式,這個標準叫做 ieee 754標準。

c語言中字元和數字的不同?

3樓:匿名使用者

c語言支援的是ascaii 編碼 0-255 所以是一位元組 在0-255範圍內 支援數字與字元的轉換 具體參見ascaii碼錶 字元表示應該用單引號 例如'1' 1是不一樣的'1'代表數字49

4樓:匿名使用者

字元型char 佔一個位元組

數字根據不同型別 整形 浮點型等分配不同的儲存空間 也就是位元組大小

處理上也有不同

5樓:

儲存在記憶體中同樣是0,1,1,0的東西,但是取出來得按一定的約定或者說是一定的格式取出來吧,這樣就得有得這些二進位制數進行轉換的碼錶,比如說ascii碼,比如65,在記憶體中存放形式同樣是65(十進位制),按ascii碼取出來是『a』字元,按int取出來就是65(十進位制)

6樓:

數字就是那些阿拉伯數字,而字元可以有英文字母,符號,漢字資料等。

數字分為整型常量和實型常量,整型常量有十進位制、八進位制、十六進位制。說白了就是一些整數。實型常量就是表示小數,分為十進位制小數形式和十進位制指數形式,比如0.

1 5.1 這是小數形式,2.1e5表示2x10的5次方。

字元型資料型別有char(character的縮寫)。在記憶體中佔1個位元組(8位),由於字元型資料也可以參與運算,c語言還給它分為有符號字元和無符號字元,預設情況都是有符號字元。符號位是這個位元組的最高位。

而且字元的運算其實就是字元的ascii碼值 比如字元'b'的ascii碼值是0x42

c語言中,數字和數字字元有什麼區別

7樓:我是果瘋

1,資料型別不同:

數字1是數值型別中的整數型別(int)

數字字元『1』是字元型別(char)

2,處理方式不同:

數字1按照數值資訊的處理方式處理。

數字字元『1』按照字串的處理方式處理。

3,表達方式不同:

數字1的佔位符為%d。

數字字元『1』的佔位符為%c。

8樓:吹乒乓

數字分整型(int)、浮點型等,例如1、2、。。。

數字字元是字元(c)『1』、『2』。。。;

是兩種不同的型別,而且所佔位元組也不同;

32位系統,數字(int)佔 4 位 ,; 字元(c)佔 1 位;

它們是用來修飾兩種同的型別。

9樓:君子哥

『1』是字元,但是1是數字,他們分別要存放在char和int(或者long等等)的空間內;在ascii碼中,『1』對應的數字是65,也就是說,當你返回值是1的時候,確實就是1,但是如果返回『1』,實際相當於返回了65~

10樓:水星

1是int型別,『1』是char型別,當然char的儲存模式其實也是和int類似的,比如『a』和65是一樣的,也就是說計算機儲存『a』的時候其實是把它當做65儲存的。

在c語言中字元與數字的有關問題:0與『0』的區別

11樓:匿名使用者

一、資料型別不同

1、0:代表數字0。

2、『0』:代表字元0。

二、計算能力不同

1、0:具有計算能力。

2、『0』:是不具計算能力的文字資料型別。

三、記憶體儲存不同

1、0:由數字、小數點、正負號和字母e組成,用字母n表示。數值型資料的取值範圍是:

-0.9999999999e+19+到0.9999999999e+20,包括正負號、小數點和字母e在內,其長度最大20位。

2、『0』:包括中文字元、英文字元、數字字元和其他ascⅱ字元,其長度(即字元個數)範圍是0-255個字元,即0x00至0xff。

12樓:

請注意 ascii的編碼

字元 對應的ascii碼(10進位制)

'0' 48

'1' 49

'2' 50

'3' 51

......

'8' 56

'9' 57

輸入是字串"32486",

要把這個字串裝換為數字

3*10000 + 2*1000 + 4*100+8*10+6個十百千萬 位上的 數字 怎麼來?

例如 萬位 的3

要把字元'3' 轉為 數字 3

ascii表裡 '0' 到 '9'是相鄰、連著的'1' 比 '0' 大 1

'2' 比 '1' 大 1 '2' 比 '0' 大 2所以 '3' - '0' 就得到'3'對應的數字3,再來看'3' - 0是多少 ,'3' 的ascii碼是 51 ,51 - 0 等於 51顯然 不對

注意 字元 在記憶體中是數字 字元型是 特殊的整形

13樓:

肯定不同呀,0的值還是0 而'0'的值是按它的ascii碼值來算的,注意ascii表示的都是字元

14樓:

0是數值型,而『0』是字元型,兩者在資料型別上不同

如果都用十六進位制表示,數值0表示為0x00,字元'0'表示0x30(可以查ascii碼)

在c語言中,會檢查資料的型別並有專門的關鍵字,數值型的如int、long,浮點型的如float、double,字元型的如char,區分這些型別是瞭解c的第一步。

15樓:匿名使用者

**貼多一點吧。你的意思倒是明白了。

16樓:匿名使用者

一個是數字0,一個字元0。

17樓:小八

'0'表示字元0

0表示整數0

他們的ascll碼不同

18樓:虎光牆

0就是數字,'0'是字元

c語言中數字和字元相加結果是什麼?

19樓:匿名使用者

char c='a' ;

c=c+1 ;

printf("%c %d\n", c , c ); //輸出b 98

字元在計算機中是按字元的ascii值儲存的,實際上就是個整數,而輸出時,按不同的格式串可得到相應的顯示:%c 按字元輸出 %d按整數輸出

c語言中字元型資料在記憶體中儲存的是什麼?

20樓:匿名使用者

1.字元bai型資料在記憶體中儲存的是它du的ascii碼值,它是一個位元組zhi,所有dao資料型別在記憶體中都是以內0和1**二進位制儲存的,這個原容則不會變。

2.字元是指計算機中使用的字母、數字、字和符號,包括:1、2、3、a、b、c、~!

·#¥%……—*()——+等等。在 ascii 編碼中,一個英文字母字元儲存需要1個位元組。在 gb 2312 編碼或 gbk 編碼中,一個漢字字元儲存需要2個位元組。

在utf-8編碼中,一個英文字母字元儲存需要1個位元組,一個漢字字元儲存需要3到4個位元組。在utf-16編碼中,一個英文字母字元或一個漢字字元儲存都需要2個位元組(unicode擴充套件區的一些漢字儲存需要4個位元組)。在utf-32編碼中,世界上任何字元的儲存都需要4個位元組。

3.char是c/c++整型資料之一,其它的如int/long/short等不指定signed/unsigned時都預設是signed,char在標準中是unsigned,編譯器可以實現為帶符號的,也可以實現為不帶符號的,有些編譯器如psos的編譯器,還可以通過編譯開關來指定它是有符號數還是無符號數。

21樓:手機使用者

)記憶體空間。按指數形式儲存。

實數3.14159在記憶體中的存放形式如下:

+ .314159 1數符 小數專

部分 指數其中:

小數部分佔屬的位(bit)數愈多,數的有效數字愈多,精度愈高。

指數部分佔的位數愈多,則能表示的數值範圍愈大。

基礎加強喲。

22樓:匿名使用者

它的ascii碼值,它是一個位元組,所有資料型別在記憶體中都是以0和1**二進位制儲存的,這個原則不會變

誰能解釋一下C語言中字元變數的作用

首先,幾乎所有的成品商業軟體都需要與使用者進行交換,而軟體與人進行交換最基本的形式就是字元,或者說文字。對於字元或者說文字,不可能一直只讀取,而不儲存,若要儲存則必須使用字元變數。比如下面的 要儲存使用者建議的字串,沒有char變數是無法儲存的。char buf 256 printf 使用者建議 s...

C語言中如何判斷字元是空格,下字元不是空格

include include int get word nums const char str int count 0 char p1 null char p2 char str while p2 0 if p1 null p2 一個單詞掃描結束 return count int main voi...

在c語言中以下合法的字元常量是在C語言中,以下合法的字元常量是

選ca 有雙引號,是字串 b 單引號裡只能一個字元 d 0表明是8進位制,只能出現0 7的數字e 書寫不完整,右半邊的單引號沒了 答案是c。各答案解析 a 有雙引號,是字串 b 單引號裡只能一個版字元 d 0表明是8進位制,只 能出現權0 7的數字 e 書寫不完整,右半邊的單引號沒了 拓展 在c語言...