首頁>Club>
3
回覆列表
  • 1 # ygccghcc

    1、char取值範圍是 -128~+127。2、我們先來看 signed char的最大值。 最高位是 符號位, 0 代表正數; 1 代表負數。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 的最小值計算。 在計算機中,數值是以補碼形式儲存的。正數的補碼是其本身; 而負數的補碼是 取反 (符號位保持不變),再加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不管是原碼還是補碼, 總會出現 -0 這個值。 本來 +0 與 -0 是沒有區別的。 但對於儲存器和編譯器來講,總得充分利用每個位元組吧, 更不想出現二義性。 所以,將 -0 表示為 -128 , 這樣既增大了signed char 數值的表示範圍,又消除了 -0 的二義性。所以signed char的取值範圍是 -128~127。擴充套件資料在MYSQL中,欄位型別char是指:使用指定長度的固定長度表示的字串;比如char(8),則資料庫會使用固定的1個位元組(八位)來儲存資料,不足8位的字串在其後補空字元。字元轉換代數概念char是characteristic的簡寫,表示一個環或者域的特徵,即最小的非負整數n,使ne=0。(e為單位元) 。

  • 中秋節和大豐收的關聯?
  • 一哥、湯普森、魯尼相繼受傷還是贏下了G2,失去主場優勢的猛龍是不是註定要輸了?