aeb -> a*10的b次方
int main()
判斷乙個數的奇偶性
a:%2 == 0;
b:使用位與&運算子判斷
可以使用這個來精簡if..else語句
true =1;false = 0;
最後一位是1奇數,0 偶數
a&1 == 1; // 奇數
a&1 == 0; // 偶數
取出最後一位的值&1;
int main()
else
**精簡
有返回值得方法才可以在這裡使用
a % 2 == 0 ? printf("這是偶數\n") : printf("這是基數\n");
true = 1; false = 0;
a % 2 ? printf("這是基數\n") : printf("這是偶數\n");
新寫法if(a % 2)
else
位&/**
11 1011
9 1001
10 1010
6 0110
最後1一位就1就是基數,0就是偶數
最後1位&1等於1就是基數,0就是偶數
取出最後一位人資料&1
*/return 0;
}
按位取反:
~9 = -10;
int printfbinary(int num)
}printf("\n");
return 0;
}int main()
負數的補碼例-2的補碼
0的原碼,反碼,補碼全部是0
在二進位制中最高位0代表正數,1代表負數
-2的補碼過程
用二進位制在記憶體中的表現形式進行轉換
先將-2轉換成正數在記憶體中的表現形式
2原碼:0000-0000 0000-0000 0000-0000 0000-0010
-2原碼:1000-0000 0000-0000 0000-0000 0000-0010
-2反碼:1111-1111 1111-1111 1111-1111 1111-1101
負數的補碼=負數的原碼+1
+1 :0000-0000 0000-0000 0000-0000 0000-0001
-2補碼:1111-1111 1111-1111 1111-1111 1111-1110
即求得 -2的補碼為1111-1111 1111-1111 1111-1111 1111-1110
C 學習筆記 day05
1 變數的儲存 1 記憶體是一塊空間,把其中的每個位元組做了編號,為了以後計算機能通過編號找到資料 2 編址方式 絕對編址 在整個程式中使用 相對編址 位元組相對於邏輯0偏移量,在程序中使用 4 儲存位址 指標 儲存變數的位址 指標的型別由將要儲存的位址的變數型別決定 int 只能儲存int變數的位...
c 自學筆記 day05
cin.getline char int 如果鍵盤輸入的字元個數大於函式的第二個引數,剩餘的字元會留在快取區中,在這種情況下cin,getline cahr int 會設定失效位,程式後續的讀取快取區動作將被關閉。可以通過cin.clear 函式來恢復。string型別 在c 中,把字串認為是一種型...
c語言學習day05
struct s以上 涉及到位元組對齊問題,編譯器為使cpu執行效率高,採取以空間換時間的方法,一次讀取int的長度 結構體的變數定義順序不同,size也不一樣 e.g struct s1 struct s2s1和s2的位元組數就不一樣,s2是8個,因為e是short型,可以佔給a分配的多餘的3個位...