回覆列表
-
1 # 不會游泳的驢
-
2 # wude924
字元型的儲存地址英文佔1個位元組,中文佔2個位元組。
嚴謹的說法是:得看是什麼字元和什麼編碼規則。
以下根據編碼規則和中英文舉幾個例子:
GB2312/GBK/GB18030編碼——英文1個位元組,常用漢字2個位元組,罕用漢字可能佔4個位元組
UTF-16LE/UTF-16BE編碼——英文2個位元組,常用漢字2個位元組,罕用漢字4個位元組
UTF-8編碼——英文1個位元組,常用漢字3個位元組,罕用漢字4個位元組
UTF-32LE/UTF-32BE編碼——一律4個位元組。
-
3 # 使用者3496089689272728
c的char資料屬於基本型別,基本型別其中還包括-整型,實型,列舉型別!資料在記憶體中是以二進位制形式存放的。數值是以補碼錶示的。整型:一個正數的補碼和其原碼的形式相同。而負數的補碼方式是將其絕對值的二進位制形式“按位求反再加1”實型:在記憶體中佔4個位元組,是按照指數形式儲存的,實型資料分為小數部分和指數部分,分別存放!計算機用二進位制表示小數部分,用2的冪次來表示指數部分!字元型:在記憶體中字元的儲存實際上是把字元相對應的ASCII程式碼放到儲存單元中的。而這些ASCII程式碼值在計算機中也是以二進位制形式存放的。這個與整型的儲存很相似。因此這兩類之間的轉換也比較方便!
-
4 # 使用者2520218391909
1、答案是D 在C語言中,char型資料是將一個字元常量放到一個字元變數中,並不是把該字元本身放到記憶體單元中去,而是將該字元的相應的ASCII程式碼放到儲存單元中。 C語言使字元型資料和整型資料之間可以通用。一個字元資料既可以以字元形式輸出,也可以以整數形式輸出。以字元形式輸出時,需要先將儲存單元中的ASCII碼轉換成相應字元,然後輸出。以整數形式輸出時,直接將ASCII碼作為整數輸出。 2、原碼、反碼和補碼是對數字的二進位制定點的表示方法。
字元變數在記憶體中佔一個位元組。
在記憶體中,是把字元對應的ASCII碼值放到儲存單元中.
字元型資料與整型資料之間可以通用.
每個字元變數被分配一個位元組的的記憶體空間,因此只能存放一個字元。字元值是以ASCⅡ碼的形式存放在變數的記憶體單元之中的。如x的十進位制ASCⅡ是120,y的十進位制ASCⅡ是121。對字元變數a,b賦予'x'和'y'值:a='x';b='y';實際上是在a,b兩個單元記憶體放120和121的二進位製程式碼:
a 01111000
b 01111001
所以也可以把它們看成是整形變數。C語言允許對整形變數賦予字元值,也允許對字元變數賦整形值。在輸出時,允許把字元變數按整形量輸出,也允許把整形量按字元量輸出。整形量為二位元組量,字元量為單位元組量,當整形量按字元量處理時,只有低八位位元組參與處理。