① 常用進製有10進製(89, 23);2進製(1010, 1111);8進製(765,01014);16進製制(af,013ed)。計算機直接能儲存的資料只有數字;數字以二進位制補碼的形式儲存。
② 進製之間的轉換:
print
(num)
# 轉10進製
print
(bin
(num)
)# 轉二進位制
print
(oct
(num)
)# 轉八進位制
print
(hex
(num)
)# 轉16進製制
① 原碼 : 最高位表示符號位(0表示正、1表示負),後面是數的真值(數字的絕對值的二進位制)。
10(原碼): 00001010
25263(原碼): 0110001010101111
-10(原碼):10001010
② 反碼:正數的原碼、反碼、補碼一樣;負數的反碼:原碼的符號位不變,其餘各位取反。
10(反碼):00001010
-10(反碼):11110101
③ 補碼;負數的反碼加1。
10(補碼):0 0001010
-10(補碼):1 1110110
① 位運算: &(按位與)、|(按位或)、^(異或)、~(取反)、<<(左移)、>>(右移)
例:1 & 1 -> 1, 1 & 0 -> 0, 0 & 0 -> 0
111 & 101 -> 101
② 位運算的運用
應用1:快速判斷整數的奇偶性
所有的偶數在儲存的時候最低位都是0,所有奇數在儲存的時候最低位都是1
整數 & 1 -> 提取出數字在儲存的時候的最低的值
num =
89if num &1==
1:print
('奇數'
)else
:print
('偶數'
)
應用2:整數 << n --> 整數快速乘以2的n次方;
整數 >> n -> 整數快速整除(2的n次方)
print(3
<<1)
# 6print(5
<<1)
# 10
print(-
2<<1)
# -4
print(6
>>1)
# 3print(5
>>1)
# 2print(-
5>>1)
# -3
程式設計素養 Day004
1.頁面上輸入乙個年份 需驗證 判斷是否是閏年 能被 4 整除,卻不能被 100 整除的年份 能被 400 整除的是閏年 並且在頁面上顯示相應提示資訊。2.如何通過命令提示符登入 mysql?如何列出所有資料庫?如何切換到某個資料庫並在上面工作?如何列出某個資料庫內所有表?如何獲取表內所有 fiel...
day 004 迴圈結構
主要有兩個1個是for in乙個是while,跳出的是用break,單次跳出用continue 1.for的格式 for x in range 101 sum x2.while結構格式 while true do what you want to do3.上 row int input 請輸入行數 ...
程式設計素養Day004
一 頁面上輸入乙個年份 需驗證 判斷是否是閏年 能被 4 整除,卻不能被 100 整除的年份 能被 400 整除的是閏年 並且在頁面上顯示相應提示資訊。1 2 執行截圖 二 如何通過命令提示符登入 mysql?如何列出所有資料庫?如何切換到某個資料庫並在上面工作?如何列出某個資料庫內所有表?如何獲取...