day7 位運(yùn)算相關(guān)

在計(jì)算機(jī)編程中,整數(shù)可以通過二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制來表示

1.進(jìn)制

1.十進(jìn)制
a.基數(shù):0,1,2,3,4,5,6,7,8,9
b.進(jìn)位:逢十進(jìn)一
c.位權(quán):123=110^2+2101+3*100

2.二進(jìn)制
a.基數(shù);0,1
b.進(jìn)位:逢二進(jìn)一
c.位權(quán):101=12^0+02^1+122=5

3.八進(jìn)制
a.基數(shù):0,1,2,3,4,5,6,7
b.進(jìn)位:逢八進(jìn)一
c.位權(quán):123(8)=38^0+281+1*82=83

4.十六進(jìn)制
基數(shù):0,1,2,3,4,5,6,7,8,9,a/A(10),b/B(11),c/C(12),d/D(13),e/E(14),f/F(15)
b.進(jìn)位:逢十六進(jìn)一
c.位權(quán):123(16)=123=116^2+2161+3*160=291

2.程序中怎么表示不同進(jìn)制的數(shù)

a.十進(jìn)制 直接寫
A=10 #這是一個(gè)十進(jìn)制的數(shù)

print (A) #直接打印其他進(jìn)制數(shù)就會(huì)顯示他的十進(jìn)制

b.二進(jìn)制
0b+二進(jìn)制數(shù)

num=0b110
print(bin(800)) 打印二進(jìn)制數(shù)的800
print(bin(0xff)) 打印十六進(jìn)制數(shù)的ff

c.八進(jìn)制
0o+八進(jìn)制數(shù)

num=0o12376
print(oct(800))打印八進(jìn)制的800

d.十六進(jìn)制
0x/0X+十六進(jìn)制數(shù)

num=0xa21f
print(hex(255))打印十六進(jìn)制的255

3.計(jì)算機(jī)碼

計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)只能存儲(chǔ)數(shù)字?jǐn)?shù)據(jù),而且存的是數(shù)字的補(bǔ)碼。
計(jì)算機(jī)存數(shù)據(jù)進(jìn)行運(yùn)算的時(shí)候是使用補(bǔ)碼進(jìn)行運(yùn)算的,展示結(jié)果是使用補(bǔ)碼進(jìn)行運(yùn)算的,將數(shù)據(jù)從計(jì)算機(jī)中讀出來看到的是原碼

1.原碼:
符號(hào)位+真值
說明:最高位用0表示正數(shù),1表示負(fù)數(shù)
真值:去掉正負(fù)的數(shù)字對(duì)應(yīng)的二進(jìn)制數(shù)
100的原碼:01100100
-100的原碼:11100100
2.反碼:
正數(shù)的反碼:就是原碼
負(fù)數(shù)的反碼:符號(hào)位不變,其余位數(shù)取反(0變1,1變0)
100的反碼:01100100
-100的反碼:10011011
3.補(bǔ)碼
正數(shù)的補(bǔ)碼:還是補(bǔ)碼
負(fù)數(shù)的補(bǔ)碼:反碼加1

100的補(bǔ)碼:01100100
-100的反碼:10011100

-50的原碼:1110010
-50的反碼:1001101
-50的補(bǔ)碼:1001110
4.為什么要存補(bǔ)碼?
因?yàn)橛?jì)算器只有加法器,沒有減法器

4.位運(yùn)算:

&(按位與),|(按位或運(yùn)算),~(按位取反),^(按位異或運(yùn)算),>>右移,<<左移
a.
與運(yùn)算:數(shù)字1 & 數(shù)字2 --->都為1結(jié)果才為1,否則為0
0111 & 1101 --->0101(補(bǔ)碼)
特點(diǎn):一個(gè)位上的數(shù)如果和1與,可以保留這個(gè)位上的數(shù);和0可以置0
應(yīng)用:判斷一個(gè)數(shù)的奇偶性
num & 1 ==0 --->num是偶數(shù)
num & 1 == 1 --->num是奇數(shù)
b.
或運(yùn)算:兩個(gè)為0才為0
0111 | 1101 ---> 1111
特點(diǎn):和1或,置1
c.
~數(shù)字(取反):將數(shù)字上的每一位取反
~1 = 0
~0 = 1
d.
數(shù)字1 ^ 數(shù)字2(異或運(yùn)算):相同為0,不同為1
1^1=0
1^0=1
0^1=1
0^0=0
應(yīng)用:加密;判斷兩個(gè)數(shù)是否相等:相同兩個(gè)數(shù)異或1結(jié)果為0
e.
數(shù)字1 << N :將數(shù)字1左移N位,數(shù)字12^N
數(shù)字2 >> N :將數(shù)字1右移N位,數(shù)字1
2^N
應(yīng)用:快速乘2的N次方/除2的N次方

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 進(jìn)制基本概念 什么是進(jìn)制?進(jìn)制是一種計(jì)數(shù)的方式,數(shù)值的表示形式 常見的進(jìn)制十進(jìn)制、二進(jìn)制、八進(jìn)制、十六進(jìn)制 進(jìn)制書...
    極客江南閱讀 2,185評(píng)論 0 11
  • 網(wǎng)站亂碼問題我們會(huì)經(jīng)常碰到,大多見于非英文的中文字符或其他字符亂碼,而且,這類問題常常是因?yàn)榫幋a方式問題,主要原因...
    波段頂?shù)?/span>閱讀 3,325評(píng)論 1 9
  • 概述 在學(xué)習(xí)位運(yùn)算之前,先說下幾個(gè)概念: 機(jī)器數(shù):一個(gè)數(shù)字在計(jì)算機(jī)中的二進(jìn)制表達(dá)形式就叫做機(jī)器數(shù)。機(jī)器數(shù)是有符號(hào)位...
    騎著烏龜去看海閱讀 2,514評(píng)論 1 4
  • 2012年上映,2017年重新看了一次,時(shí)隔差不多四年之后的重溫,的確是非常不一樣的體驗(yàn)。這樣非同尋常的收獲也是啟...
    XuchenZhang閱讀 518評(píng)論 0 1
  • 整理了一堆最近還蠻好玩的土味情話給你們。 1、這是手背這是腳背你是我的寶貝 2、這是校服這是迷彩服你是我的小幸福 ...
    搞笑有嘻哈閱讀 1,781評(píng)論 0 0

友情鏈接更多精彩內(nèi)容