在計算機程式設計中,整數可以通過十進位制、二進位制、八進位制和十六進製制來表示
1、十進位制
基數:0、1、2、3、 4、 5、 6、 7、 8、 9
進製:逢10進1
位權:例如:123 = 100 + 20 + 3
2、二進位制
基數:0、1
進製:逢2進1
位權:例如:1100 = 8+ 4 + 0 + 0
3、八進位制
基數:0、1、2、3、4、5、6、7
進製:逢8進1
位權:例如:67 = 48 + 7
4、十六進製制
進製:逢16進1
位權:例如:ff= 255
程式中怎麼表示不同進製的數
寫法說明
列印num = 110
直接寫的數字就是10進製
直接列印其他進製數會顯示十進位制
num = 0o110
0o+八s進製數
oct(num),返回八進位制字串
num = 0b110
0b+二進位制數
bin(num),返回二進位制字串
num = 0x110
0x+十六 進製數
hex(num),返回十六進製制字串
計算機儲存的時候只能儲存數字資料,而且存的是數字的補碼。計算機對資料進行運算的時候是使用補碼進行運算的,將資料從計算機中讀出來看到的是原碼。
1.原碼
符號位+真值
說明:符號位:最高位是0表示正數,是1表示複數
真值:去掉正負,數字對應的二進位制
100的原碼:01100100
-100的原碼:11100100
2.反碼
正數的反碼:就是原碼
負數的反碼:原碼的符號位不變,其餘的位數取反。
100的反碼:01100100
-100的反碼:10011011
3.補碼
正數的補碼:還是原碼
負數的補碼:反碼+1
100的補碼:01100100
-100的補碼:10011100
符號說明
如果a=0b1010,b=0b1100
&按位與運算
a & b,結果為0b1000
|按位或運算
a | b,結果為0b1110
~按位取反
~b,結果為-0b1101
^按位異或
a ^ b,結果為0b110
<<
左移a<<1,結果為0b10100
>>
右移a>>1,結果為0b101
與運算:乙個位上的數如果和1與,可以保留這個位上的數;和0與可以置0。
應用:判斷乙個是逇奇偶性。
num %2==
0# num是偶數
# 如果是偶數這個數的二進位制的最低位為0,為1是奇數
num &1==
0# num是偶數
num &1==
1# num是奇數
左移n為相當於數字*2的n次方
右移n位相當於數字//2的n次方
應用:快速乘2,整除2操作。
isinstance(3
,int
)# true
print
(isinstance([
1,3]
,list))
# true
php 位運算與許可權,PHP中的位運算和進製處理
php中的位運算和進製是比較冷門的知識,感覺很簡單也很好理解,但是在實際場景中卻很少使用,本篇博文就是簡單了解基本概念以及講解如何去實際使用.位運算php中的位運算子是對整形進行的操作,比如對於十進位制,二進位制,八進位制等數字的一些操作.按位與 and 按位或 or 按位取反 not 按位異或 x...
位運算和進製轉換
位運算指的是對二進位制進行的計算處理。主要有 與 或 異或 求反 其特徵為 都是1的時候才是1 如 13 7 計算過程為 13的二進位制 1101 7的二進位制 0111 得到結果 0101 轉換成10進製則是5 計算過程為 1101 0111 按照或運算得到結果是 1111 轉化成10進製為 15...
Python進製之間的轉換和位運算整理
簡單整理下位運算的用法 value ff1a shi int value,16 16進製制轉10進製 第乙個引數value是要轉換的值,第二個引數是原資料的進製 print s的十進位制為 value,shi er bin shi 2 bin 十進位制轉換2進製 print d的二進位制為 shi,...