C語言中負數的儲存方式

2022-08-12 04:36:12 字數 704 閱讀 9075

詳細介紹負數的文章:

1.以char型別舉例,其取值範圍是 -128 ~ 127,即-2e7 ~ 2e7-1, 用最高位表示其符號,0表示正數,1表示負數。數值以補碼形式儲存。正數的補碼就是該正數本身,負數的補碼需要轉化,如下:

1>.對負數取絕對值,用二進位制表示

2>. 對每一位取反;

3>. 對該數加1。

注意:char型別的0 沒有+0 和 -0 的區分,即使想區分,按照上述操作,得到的都是 0000 0000

舉例:-1 取絕對值0000 0001 -> 取反1111 1110 ->加1得到 1111 1111

下面是一些數值的補碼格式:

-128 儲存數值 1000 0000     

-127 儲存數值 1000 0001

-126 儲存數值 1000 0010

.....

-3    儲存數值 1111 1101

-2    儲存數值 1111 1110

-1    儲存數值 1111 1111

0    儲存數值 0000 0000

1    儲存數值 0000 0001

2    儲存數值 0000 0010

3    儲存數值 0000 0011

...125 儲存數值 0111 1101

126 儲存數值 0111 1110

127 儲存數值 0111 1111

C語言中變數的儲存類別及其儲存方式

一 auto auto 自動變數,動態儲存方式 auto是c語言中區域性變數的預設屬性 編譯器預設所有的區域性變數 auo變數儲存在程式的棧中,預設屬性 特點 1 自動變數僅適合於區域性變數,其作用域僅限於定義該變數的個體內。在函式定義中定義的自動變數,只在改函式內有效。在復合語句中定義的自動變數只...

C 語言中負數移位運算講解

c 語言中負數移位運算講解 為移位運算子。為左移位運算子,即資料位元組中的每個二進位制位同時 向左移位。如 x 為右移位運算 符,即資料位元組中的每個二進位制位同時向右移位。如 x n 表示 x 中的每個二進位制位同時 向右移動 n 位。下圖演示了乙個 2 位元組變數左移 3 位的過程 十進位制數 ...

c語言負數左移右移 C語言中的左移與右移

先說左移,左移就是把乙個數的所有位都向左移動若干位,在c中用 i i 2 把i裡的值左移2位也就是說,1的2進製是000.0001 這裡1前面0的個數和int的位數有關,32位機器,gcc裡有31個0 左移2位之後變成000.0100,也就是10進製的4,所以說左移1位相當於乘以2,那麼左移n位就是...