C C 學習筆記 進製轉換和運算子

2021-10-09 15:54:25 字數 2951 閱讀 5997

date 2020-09-21

進製轉換

10進製和8進製之間的轉換

10進製和16進製制之間的轉換

2進製和16進製制之間的轉換

0xa5c6b475 轉二進位制 1010 0101 1100 0110 1011 0100 0111 0101

進製之間的轉換

*/#include

intmain

(int argc,

char

* ar**)

c語言程式的運算子和表示式

運算子:對記憶體中的數字進行各種運算的符號

表示式:運算子和數字結合起來的式子 ,簡稱表示式

c 語言提供的運算子

1.算術運算子 :「+ ,-,* ,/,%」

注意事項:

1.參與除法(/)計算的兩個數字 是整數 則計算結果只保留整數部分 如 5 / 2 = 2;

2./ 和% 不能對整數0進行操作,否則程式崩潰;

3.% 不能對浮點數進行操作,否則程式崩潰;如 5 % 1.1

4.%的結果與其左邊的數字符號一致 如 -7 % 2 = -1, 5 % 2 = -1;

5.如果除數是浮點數 ,最後得到inf 無窮大的結果

2.賦 值運算子

3.復合運算子:賦值運算子和其他運算子結合使用

a + - / * % = b ; 等價於 a = a + - / * % b;

4.自增運算子和自減運算子

自增運算子:讓變數對應的記憶體值加1(inc increase 自增,加1)

自減運算子: 讓變數對應的記憶體值減-1(dec decrease 自減,減1)

前++/–:先對變數的值加/減1,在計算表示式值

後++/–:先計算表示式的值,再對變數的值加/減1

/*  date 2020-09-22

自增自減運算

inc_dec.c

*/#include

int main (

int argc c,

char

* ar**)

5.關係運算子:

> < == >= <= != 運算結果真 為1 ,假為0;

注意程式運算時

5 < 4 < 3 結果為真

解析:5 < 4 結果為假 0;

0 < 3 結果為真 故 : 在程式中盡量不要使用連續的關係運算 如果需要使用可採用邏輯運算子實現

6.邏輯運算子

&& || !

7.位運算子

① 位或運算 |

規律:任何數和 1做位或結果都是1,任何和0做位或保持原值

②位與運算 &

規律:③位異或運算

規律:④位反運算 !

規律:示例:

// bit.c

//date 2020-09-28

#include

int main (

int argc,

char

* ar**)

shift :移位

shifter :移位器

8.移位運算子 << ,>>

功能:就是將2進製數統一向左或者向右移動n個位置(左移或者右移)

1.程式中涉及乘或者除以2的n次方運算,務必使用移位運算 (*和/執行效率極低)

2.移位運算不會改變變數本身的值

3.無符號型別數字向右移動時空出來的資料用0補充

如 unsigned char 型別數字 01011010 >> 2 結果為 00010110 = 0x16

4.有符號型別數字向右移動的時空出來的資料用符號位補充

如 char型別數字 10100101 >> 2 結果為 11101001 = 0xe9

5.左移相當於乘以2的n次方,右移相當於除以2的n次方

示例

/*

date 2020-09-29

shift.c

*/#include

int main (

int argc,

char

* ar**)

9.實際常用的位操作公式

10.取位址運算子& 和解引用運算子 * :

明確位址記憶體特性 :位址就是計算機記憶體的位元組編號 ,從0開始,並且計算機記憶體位址由32位二進位制數組成,也就是任何位址都是32位 ,4位元組

取位址運算子運用

int a = 250;

printf(「變數的首位址\n」,&a);

解引用運算子 :根據變數的首位址獲取記憶體的資料或者根據變數的首位址修改記憶體中的資料;

// date 2020-10-18

// name address.c 取位址運算子演示

#include

int main (

int argc,

char

* ar**)

11.條件運算子

語法格式:d = 表示式a ? 表示式b : 表示式c; // 如果a為真,d的結果等於b 否則 d = c

//date 2020-10-18

//name 條件運算子演示

#include

int main (

int argc,

char

* ar**)

12.運算子等級 ()優先順序最

運算子與進製轉換

字元型別 字元常量 a 乙個字元 字串常量 abcd 多個字元 字元變數 1 定義變數 有無符號 型別 變數 2 引用變數 引用變數內容 浮點型 1 浮點型常量 十進位制 3.14 科學表示3e14 2 浮點型變數 float double 有符號 型別 變數名 程式 演算法 資料 運算子 表示式 ...

C C 運算子 運算

規則 1 1 1 1 0 1 0 1 1 0 0 0 按位或運算 按位或運算子 是雙目運算子。其功能是參與運算的兩數各對應的二進位 也就是最後一位 相或。只要對應的二個二進位有乙個為1時,結果位就為1。參與 運算的兩個數均以補碼出現。例如 9 5可寫算式如下 00001001 00000101 00...

運算子 進製

二進位制 0.1 滿2進1 以0b或0b開頭 乙個位元組 8 位 14符號位65 4321 00為 1為 00 0111 0首位符號位 0表示正數 1 23 1 22 1 21 0 20 8 4 2 14 正數三碼一樣 原始碼,反碼,補碼 將14的二進位制0000 1110最高位改為1 得到1000...