共找到3條詞條名為char的結果 展開

char

計算機語言關鍵字

char用於C或C++中定義字元型變數,只佔一個位元組(8位),取值範圍為 -128 ~ +127(-2^7~2^7-1)。C語言中如int、long、short等不指定signed或unsigned時都默認為signed,但char在標準中不指定為signed或unsigned,編譯器可以編譯為帶符號的,也可以編譯為不帶符號的。

數據類型


(1)定義:char型數據是計算機編程語言中只可容納單個字元的一種基本數據類型。
(2)取值範圍:char : -2^7 ~ 2^7-1 ;
signed char: -2^7 ~ 2^7-1
unsigned char : 0 ~ 2^8-1
而且關於char還有一個特殊的語言就是char *,它在C/C++中有專門的語義,既不同於signed char *,也不同於unsigned char *,專門用於指以'\0'為結束的字元串。
在C++中,下列程序是可以通過編譯的:
char *p="abcd";
但如果用
signed char *p="abcd";
unsigned char *p="abcd";
都是不能通過編譯的。
判斷編譯器的默認char符號方法如下:
#include int main(){ char c=-1; if(c<200){ printf("signed\n"); } else{ printf("unsigned\n"); } return 0;}

MYSQL類型


在MYSQL中,欄位類型char是指:使用指定長度的固定長度表示的字元串;比如char(8),則資料庫會使用固定的1個位元組(八位)來存儲數據,不足8位的字元串在其後補空字元。

Excel函數


在excel中char函數用於返回對應發於數字代碼的字元。其用法:=char(number
其中,參數number為轉換的字元代碼,介於0~255之間,char佔一個位元組,也就是8個二進位位,但它表示的是有符號的類型,所以表示的範圍是-128~127;uchar表示無符號的類型,所以表示的範圍是0~255。

變數相互賦值


整型和字元型是互通的,他們是在內存中存儲的本質是相同的,只是存儲的範圍不同而以,整型可以是2位元組,4位元組,8位元組,而字元型只佔1位元組。
例如:
#includeint main(void){ int i = 128; char ch = i; printf("%d\n",ch); return 0;}
char類型佔1位元組,就是8位,所能存儲的正整數是 0111 1111,即127。現在將 int 型的整數i= 128 賦予ch,會產生溢出。因128是 int 型,占 4 位元組,二進位代碼為 0000 0000 0000 0000 0000 0000 1000 0000.。若將它賦給一個只有8位的char 類型變數,只能將低8位的1000 0000 放進去,其他的都會被刪掉。整數在計算機中都是以補碼的形式存儲的,此時1000 0000 在計算機的眼裡,是一個補碼,最左邊是 1 表示負數,補碼1000 0000 所對應的十進位是 -128,所以最後輸出的就是 -128。因此溢出會使得最大正整數變成最小負整數。