binary:二進位制;octal:八進位制;hexadecimal:十六進製制
使用int(其他進製資料,進製)
,返回資料對應的十進位制,其中資料要用字串形式
注意事項:資料不可以加形如的代表進製的字元
int
('10000000',2
)# 128, 2進製轉換為10進製
int(
'200',8
)# 128 , 8進製轉換為10進製
int(
'80',16
)# 128 , 16進製制轉換為10進製
總體運算規則:首先把整數轉換為二進位制表示形式,按最低位對齊,短的高位補0,然後進行位運算,最後把得到的二進位制轉換為十進位制數。bin
(128
)# '0b10000000', 10進製轉2進製
oct(
128)
# '0o200', 10進製轉8進製
hex(
128)
# '0x80', 10進製轉16進製制
與運算 (&):0&0
,0&1
,1&0 都為0, 1&1
=1 ;另外整數a & b表示a和b對應的二進位制進行與運算
或運算(|):0|1
=1|0
=1|1
=1,0|0
=0求反運算(~):~0=
1,~1
=0,對於整數x有~x=
-(x+1)
異或運算(^):0^0
=1^1
=0,0^1
=1^0
=1左移位運算(<<):原來的所有位左移,最低位補0,相當於乘以2
右移位運算(>>):原來的所有位右移,最低位丟棄,最高位使用符號位填充,相當於整除2
以下對正、負數都適用:(0b110 &
0b010)#2
print(3
|2)#3print(3
^2)#1print(~
2)#-
3print(1
<<
2)#4
print(4
>>
2)#1
# 求補碼對應的十進位制
# 對正數
a =10
(a &
0xffff
)# 預設32位
# 對負數
a =-
10print
(a &
0xffff
)# 總的來說就是和0xffff進行與運算
# 求補碼
# 對正數
a =10
(bin
(a &
0xffff))
# 預設32位
# 對負數
a =-
10print
(bin
(a &
0xffff))
# 總的來說就是和0xffff進行與運算,然後再適用bin函式將其轉換為二進位制
Python進製的轉換 位運算規則
binary 二進位制 octal 八進位制 十六進製制 hexadecimal 使用int 其他進製資料,進製 返回資料對應的十進位制,其中資料要用字串形式 注意事項 資料不可以加形如的代表進製的字元 int 10000000 2 128,2進製轉換為10進製 int 200 8 128 8進製轉...
Go 語言 進製的轉換 位運算子的使用
二進位制 0,1,滿 2 進 1 在 go 中,不能直接使用 二進位制來表示乙個整數。十進位制 0 9,滿 10 進 1 八進位制 0 7,滿 8 進 1。以數字 0 開頭表示 十六進製制 0 9 及 a f,滿 16 進 1。以 0x 或 0x 開頭表示 a f 不區分大小寫 舉個栗子 packa...
進製轉換的簡單運算
常見的進製轉換就是十進位制 二進位制 八進位制 十六進製制之間的轉換,那麼如果給你乙個等式,讓你判斷在哪種進製下該等式成立?這型別的題該怎麼求解。接下來通過兩個例題講解一下 例1.如果等式 15 4 112 成立,那麼用了下列哪一種進製?a.6 b.7 c.8 d.9 第一種比較笨的辦法就是將選項帶...