c語言說char是16位,又說他是節(byte)位元組和位

2021-12-26 00:05:12 字數 4669 閱讀 2078

1樓:

c語言中,char是一位元組,八位。一位元組等於八位

2樓:昝傲之

你是不是記錯了?char型是1個位元組,8位,不是16位。 位,位元組都是單位,一個位元組等於八位。就好像是一米等於100釐米。

int型就是4個位元組,4*8=32位。float型也是4個位元組,4*8=32位。

3樓:金色潛鳥

c 語言 規定 char 型 是1 位元組整型。1位元組 等於 2進位制8位, 2進位制的一個位,中文叫「字元」,

英文叫 bit.

" c語言說char是16位" 這裡可能有中英文 誤解。

有個 「字符集」的概念,例如,ascii 字符集裡,一個字元 是 8 字元,中文雙位元組編碼字元 是 2位元組 16字元。還有其它編碼的 裡的 字元,可能 是 多少多少 位元組。

字元 英文叫 character。大概某些人混淆了 某 set 裡 的 character 是16位,變成 char是16位了。

c 語言可以用 sizeof(char) 算得 char 佔的記憶體位元組數,你輸出看看:

printf("%d", sizeof(char));

c語言中,char型別資料佔多少位元組?

4樓:胡說八道小鬼

char 1個位元組

16位編譯器

32位編譯器

64位編譯器

c語言中的char資料型別

c語言中的char資料型別是一種整數型別(integer type),它的大小被定義為1個byte。

亦即sizeof (char)  ≡ 1

5樓:吉祥二進位制

可以使用sizeof運算子獲取資料型別佔多少位元組。一般char型別佔1個位元組。

#include

int main()

6樓:匿名使用者

佔一個位元組,即8位,可用兩位十六進位制數表示,比如0x7f

7樓:

不要過於在意這種型別大小問題,在不同的機器有些實現是不一樣的,針對性太強的移植性會比較差,用的時候用sizeof()之類的函式測一下就好了

8樓:杜茂彥

sizeof(char) 1個位元組

wchar 2個位元組,用來表達unicode的

請問c語言中,』\n』是佔用幾個位元組的???

9樓:小夏在深圳

\n』是兩來

個位元組。

1、如果是源char 型,那麼是佔用1個位元組,8位。如果是string型,應該是兩個位元組,16位,因為末尾還有個\0字元。

比如:char c = 'a';//它佔用一個字元

char c = "a";//佔用兩個。

char c = "abcde";//佔用4+1 = 5 個,結尾有一個'\0'

2、數字:

從小到大分別為:short、int、float、long、double。

位元組為:1個、2個、4個、8個、8個

位數為:8位、16位、32位、64位、64位

3、漢字

一個漢字佔用兩個位元組,16位。比如:中國,就佔用4個位元組,例如:

char c = "中國";//佔用4+1 = 5個字元。

擴充套件資料

1、由於常用的英文字元用8位二進位制就可以表示,所以通常就將8位稱為一個位元組。字長的長度是不固定的,對於不同的cpu、字長的長度也不一樣。

2、不指定 signed 或者 unsigned 的 char 型別,在c語言中是未定義的,若考慮不同的編譯器,我們不能確定 char 型別到底是有符號的,還是無符號的。

10樓:下南生

char c = 'a';//它佔用一個位元組位元組(byte)是計算機資訊科技用於計量儲存容量的一種計量單位內,通常情況下一位元組等於容八位。比如:0x01, 0x45, 0xfa。

字元是指計算機中使用的字母、數字、字和符號,包括:1、2、3、a、b、c、~!·#¥%……—*

11樓:☆淡水流雲

得四位元組是因bai為你在打du開檔案的時候沒zhi有用二進位制方式fp1=fopen("c:/a.txt","w");這樣你回車就dao是兩個位元組

把"w"改成回"wb"看看。

答\r回車

\n換行

ascll碼每個字元就是一個位元組,因為8位256個組合可以表示所有的ascll字元。這個是約定,沒有什麼原理的。

12樓:匿名使用者

1 byte 因為他是一個字元,前面有個\ 只是一種表示方法;比如'\362『是 一個八進位制整數是同一道理,\』表示字元 』,為了區別而已

13樓:匿名使用者

1 byte /n 轉成ascii碼 就是回車拉 ascii 1 byte一個符號拉

14樓:匿名使用者

怎麼說呢。\n本身確實是一個字元。但是請看下面的程式(執行環境windows xp+sp2+vc6)#include "stdio.h"

void main()

執行此程式後,再開啟內「我的電腦」,進入容c盤,分別檢視a.txt和b.txt檔案大小,你會發現分別是3位元組和5位元組。

我個人理解,\n雖然佔1位元組,但因為回車鍵實際上是輸入了\n和\r兩個字元,而且好像unix和linux中就要求\n\r連用是吧?所以,某些編譯器(比如vc),就會將\n處理成\n\r,變成了2個位元組。

有不對的地方還請大蝦指正。

15樓:匿名使用者

#include

void main()

你自bai

己看du執行zhi結果吧

dao或者這內個:

容#include

void main()

16樓:匿名使用者

一個 my sweets

c語言字元數佔幾個位元組,又是多少位。

17樓:匿名使用者

這個要看字元數是什麼資料型別,可以用sizeof(型別)操作符來測試位元組數。

1、英文字母:如果是char 型,那麼是佔用1個位元組,8位。如果是string型,應該是兩個位元組,16位,因為末尾還有個\0字元。

比如:char c = 'a';//它佔用一個字元

char c = "a";//佔用兩個。

char c = "abcde";//佔用4+1 = 5 個,結尾有一個'\0'

2、數字:有很多種類,從小到大分別為:

short、int、float、long、double

位元組為:1個、2個、4個、8個、8個

位數為:8位、16位、32位、64位、64位

3、漢字:理論上說,一個漢字佔用兩個位元組,16位。比如:中國,就佔用4個位元組,例如:

char c = "中國";//佔用4+1 = 5個字元

18樓:因果龍閣

對於幾乎所有的機器,1位元組均為8位,這是位元組的標準定義,至少在衡量儲存單位時是這樣。但是c語言有自己的定義:一個位元組為char型別佔用的位(bit)數。

19樓:匿名使用者

一個字元一個位元組 共8位(bit)

可以用sizeof(型別)來測試

20樓:春天在這裡開花

ascii

一個英文字母,數字-----佔7/8位元組,就是7個2進位制位,第八個有其他用,比如奇偶校驗,因此可以算佔一個位元組。(8個bit位)

一箇中文字-------佔二個位元組

整數要根據型別,一般是極其的字長。比如16位機整數就是16位bit,兩個位元組。32位機就是4位元組。還有int64

型別的整數。

至於實數在c中,有32位(float)和64位(double)之分。其他語言中有型別80位的,叫擴充套件精度實數.主要是在cpu內部的擴充套件精度實數暫存器,是80位的。

保證在double實數運算是不損失精度。

求c語言中int ,long int,char,float,short,dword,word,byte,byte的大小

21樓:鄉村鴨子

變數佔記憶體位元組由編譯器決定,byte表示位元組,bit表示位,,把三轉換成二進位制,再按二進位制的補碼形式儲存,

22樓:匿名使用者

使用sizeof求,

#include

int main()

不同軟體編譯答案不同,還有,c語言沒有dword,word,byte,byte

23樓:

變數佔用記憶體位元組由作業系統決定,

64位系統中,long佔用8位元組,……

32位作業系統中,int,long佔用4位元組,short佔用2位元組……

16位系統中,int佔用2位元組,……

數字3佔用多少,和你宣告的的型別有關,

在32位系統中,將3賦值給short型變數,他就佔用2個位元組,如果賦值給int型,他就佔用4個位元組

可以用sizeof這個函式來計算。例子:

int x, n;

n = sizeof(x);

n的值就是結果。

C語言char和malloc的使用

char 是一個copy指向char 的指標,char 是指向char的指標。在函式中如果要對一個引數char 申請空間,同時要在函式外面使用時 需要傳遞char 否則申請的空間無法在函式外面使用,但申請的空間仍會在,造成空間洩露。申請空間可以用malloc向系統申請分配指定size個位元組的記憶體...

c語言中char和intfloat有什麼區別?分別適用於什

int是整型數抄據 如 int a 則a的值襲只能是整型bai 如a 3 char是字 du符型 如 char a 則a的值只zhi能是字元型 如a a float是浮點dao型資料 如 float a 則a的值只能是浮點型資料 如a 3.50 即我們數學中的實數 必須寫成小數形式 char 是字元...

關於c語言char的用法問題假如

char a是錯誤的,只能定義char a 任意整數 或者char a 4或者其他整數或者不填 abc 或者char a 3或者其他整數或者不填 或者char a 2或者其他整數或者不填 或者char k,j,l,a 3 char a也是錯誤的,只能定義為 char a 任意整數 首先說下第一個,以...