1、char取值范圍是 -128~+127。
2、我們先來看 signed char的最大值。 最高位是 符號位, 0 代表正數(shù); 1 代表負(fù)數(shù)。0 1 1 1 1 1 1 1 這個值等于 2^0 + 2^1 + 2^2 + 2^3 + 2^4 + 2^5 + 2^6 = 127 。 也有一個簡便計算方法:2^7 -1 = 128-1 =127 所以,signed char 的最大值是 127 。
singed char 的最小值計算。 在計算機(jī)中,數(shù)值是以補(bǔ)碼形式存儲的。正數(shù)的補(bǔ)碼是其本身; 而負(fù)數(shù)的補(bǔ)碼是 取反 (符號位保持不變),再加1。
我們先來看 -1 的存儲過程:
-1: 1 0 0 0 0 0 0 1 ->(取反) 1 1 1 1 1 1 1 0 ->(加1) 1 1 1 1 1 1 1 1
-2: 1 0 0 0 0 0 1 0 ->(取反) 1 1 1 1 1 1 0 1 ->(加1) 1 1 1 1 1 1 1 0
-3: 1 0 0 0 0 0 1 1 ->(取反) 1 1 1 1 1 1 0 0 ->(加1) 1 1 1 1 1 1 0 1
… …
-127 1 1 1 1 1 1 1 1 ->(取反) 1 0 0 0 0 0 0 0 ->(加1) 1 0 0 0 0 0 0 1
-128 1 0 0 0 0 0 0 0 ->(取反) 1 1 1 1 1 1 1 1 ->(加1) 1 0 0 0 0 0 0 0
不管是原碼還是補(bǔ)碼, 總會出現(xiàn) -0 這個值。 本來 +0 與 -0 是沒有區(qū)別的。 但對于存儲器和編譯器來講,總得充分利用每個字節(jié)吧, 更不想出現(xiàn)二義性。 所以,將 -0 表示為 -128 , 這樣既增大了signed char 數(shù)值的表示范圍,又消除了 -0 的二義性。
所以signed char的取值范圍是 -128~127。
擴(kuò)展資料
在MYSQL中,字段類型char是指:使用指定長度的固定長度表示的字符串;比如char(8),則數(shù)據(jù)庫會使用固定的1個字節(jié)(八位)來存儲數(shù)據(jù),不足8位的字符串在其后補(bǔ)空字符。
字符轉(zhuǎn)換
在excel中char函數(shù)用于返回對應(yīng)發(fā)于數(shù)字代碼的字符。其用法:=char(number)
其中,參數(shù)number為轉(zhuǎn)換的字符代碼,介于0~255之間,char占一個字節(jié),也就是8個二進(jìn)制位,但它表示的是有符號的類型,所以表示的范圍是-128~127;uchar表示無符號的類型,所以表示的范圍是0~255。
代數(shù)概念
char是characteristic的簡寫,表示一個環(huán)或者域的特征,即最小的非負(fù)整數(shù)n,使ne=0。(e為單位元) 。