郝斌老師C語言學習筆記 補碼和位運算子

2021-08-11 14:26:13 字數 1038 閱讀 8625

**求正整數的二進位制**

除2取餘,直至商為零,餘數倒敘排序

**求負數的二進位制**

先求與該負數相對應的正整數的二進位制**,然後將所有位取反,末尾加1,不夠位數時左邊補1

**求零的二進位制**

全是零

如果首位是0,則表明是正整數,按普通方法求

如果首位是1,則表明是負整數

將所有位取反,再加一,所得數字就是該負數的絕對值

如果全是零,則對應的十進位制也是零

q : 乙個int型的變數所能夠儲存的資料範圍是多大?

int佔4個位元組,32位

int所能儲存的最大值二進位制表示:

0111 1111 1111 1111 1111 1111 1111 1111

用十六進製制表示 : 0x7fffffff

int所能儲存的最小值二進位制表示:

1000 0000 0000 0000 0000 0000 0000 0000

用十六進製制表示 0x80000000

&& 邏輯與  是邏輯運算子(返回bool值)

& 位與和邏輯與完全不一樣, &是按位比較

1&1 = 1

1&0 = 0

0&0 = 0

如 15 & 0 和 10 & 15 比較如下

1111 & 0000 = 0000

1010 & 1111 = 1010

~i就是把i變數所有二進位制位取反

相同位零 不同為1

i<<3 表示把i的所有二進位制位左移3位,右邊補零

左移n位相當於乘以2的n次方,前提是資料不能丟失

i>>3 表示把i的所有二進位制位右移3位,左邊一般是0,當然也可能補1(算數左移和邏輯左移)

右移相當於除以2的n次方

原碼

c語言學習筆記 控制流 郝斌老師講解

摘要 使用迴圈控制的目的 減少重複 的編寫。在設計迴圈結構時,要注意迴圈的初始條件及退出迴圈的條件。若非特殊情況,一般不會設計死迴圈的邏輯結構。while 1.執行順序 格式 while 表示式 表示式 2.for與while的相互比較 for 1 2 3 a 等價於 1 while 2 for與w...

13 郝斌C語言筆記 補碼

原碼也叫 符號 絕對值碼 最高位0表示正,1表示負,其餘二進位制位是該數字的絕對值的二進位制位 例如 5 的原始碼等於 10101 原碼簡單易懂 加減運算複雜 存在加減乘除四種運算,增加了cpu的複雜度 零的表示不唯一反碼運算不便,也沒有在計算機中應用移碼表示數值平移n位,n稱為移碼量 移碼主要用於...

郝斌的C語言基礎 168 補碼 上

原碼 也叫 符號 絕對值碼 最高位0表示正,1表示負,其餘二進位制位是該數字的絕對值的二進位制位.如 5的原碼為10101 原碼簡單易懂,但加減運算複雜,存在加減乘除四種運算,增加了cpu的複雜度,零的表示不唯一 反碼 反碼運算不便,也沒有在計算機中應用 移碼 移碼表示數值平移n位,n稱為移碼量,主...