C學習筆記20170813

2021-08-06 04:25:02 字數 1704 閱讀 6447

一.原始碼 反碼 補碼

1.正整數:原始碼 反碼 補碼都相同 第一位為符號位 1為正數 0為負數

1=0000 0000 0000 0000 0000 0000 0000 0001

2.負整數:

原始碼:1000 0000 0000 0000 0000 0000 0000 0001

反碼:符號位不變 其他位取反

1111 1111 1111 1111 1111 1111 1111 1110

補碼:反碼+1

1111 1111 1111 1111 1111 1111 1111 1111

3.在計算機中儲存的都是數字的補碼

4.運算1-1=1+-1

0000 0000 0000 0000 0000 0000 0000 0001

1111   1111 1111  1111  1111 1111   1111 1111

0000 0000 0000 0000 0000 0000 0000 0000

二.位運算 針對於二進位制的運算

1.&  按位與

對應二進位制位上 乙個為0全為0 全1為1

2.| 按位或

對應的二進位制位上乙個為1則為1 全0為0

3.^  按位異或

對應二進位制位上 不同為1 相同為0

多個數異或遵循加法交換律

任何異或上0的數都為原來的數

相同的數異或為0

4.~  按位取反

對應二進位制位上 0變1 1變0

5.>>  右移

m>>n 向右移動n位 移出的位刪除 補缺符號位(正0 負1)

快速計算乙個數除以2的n次方

6.<<  左移

m向左移動n位 移出來的直接刪除 移入的用0補齊

左移可能會改變符號位(正負)

使用場景:當數比較小時候,可以快速計算這個數乘以2的多少次方

7.左乘右除

三.變數

當定義變數的時候 首先會分配位址大的位元組

先定義變數的位址大於後定義變數的位址

變數的位址就是變數所儲存的空間

高位在高位元組上 地位在低位元組上

四.變數的修飾符

int      取值-2的31次方—2的31次方-1

short  取值-2的15次方—2的15次方-1

long    取值-2的31次方—2的31次方-1

long long 取值-2的31次方—2的31次方-1(64 位作業系統)

unsigned  無符號的數

unsigned int i; 取值範圍0-2的32次方-1 擴大一倍

五.字元型別

char    1個位元組 8位 0-255=256=2的8次方 ascii

六.其它

1.二進位制中最高位是1 這個數為 負數 為0 正數

2.二進位制中最後1位和奇數偶數有關 1位奇數 0為偶數

3.兩個數交換a b

a=a^b

b=a^b

a=a^b

4.%p是用來輸出位址的

5.0  代表8進製

0x 代表16進製制

無  代表10進製

6.char  1個位元組 8位 0-255=256=2的8次方

short 2個位元組

int      4個位元組

long   8個位元組

long long8個位元組(64 位作業系統)

乙個中文佔2個位元組    

C 學習筆記( )

一 語法 迴圈 foreach 型別識別符號 in 表示式 code 用法 例子int temp foreach int num in temp 每次從temp取乙個元素賦給num直至取完 console.writeline n num 每行顯示乙個元素 執行結果 c 中唯讀 只寫控制 class ...

C 學習筆記

1.函式特徵 有函式頭和函式體 接受乙個引數 返回乙個值 需要乙個原型。2.c 命名規則 在名稱中只能使用字母字元 數字和下劃線 名稱的第乙個字元不能是數字 區分大寫字母和小寫字母 不能將c 關鍵字用作名稱 以兩個下劃線或下劃線和大寫字母打頭的名稱被保留給實現 編譯器及其使用的資源 使用,以乙個下劃...

c 學習筆記

屬性 屬性開頭字母大寫 屬性可以判斷輸入的非法值 屬性本身不儲存值 依靠字段 索引器 using system using system.collections.generic using system.linq using system.text namespace b try catch exc...