新四季網

計算機的二進位怎麼運用(計算機中二進位的位操作)

2023-04-20 10:12:31 3

我們已經知道計算機是基於二進位實現操作計算機的源頭是二進位,一些你不知道的知識。,我們來看看,計算機語言中針對二進位的位操作。這裡的位操作,也叫作位運算,就是直接對內存中的二進位位進行操作

其中二進位位操作主要分為:移位操作和邏輯操作。常見的二進位移位操作包括向左移位向右移位二進位邏輯操作有「或」「與」「異或」。下面我們一一來看。

向左移位

在不考慮數字溢出的情況下,二進位 111101 向左移一位,就是在末尾添加一位 0,因此 111101 就變成了 1111010.

什麼是數字溢出?

定義:二進位數的位數超過了系統所指定的位數。

現在的作業系統至少支持32 位的整型數字,而 1111010 遠遠沒有超過 32 位,所以不會發生溢出。

如果進行左移操作的二進位已經超出了 32 位,左移後數字就會溢出,需要將溢出的位數去除。

在這個例子中,如果將 1101010 換算為十進位,就是 106,你有沒有發現,106 正好是 53 的 2 倍。所以,我們可以得出一個結論:二進位左移一位,其實就是將數字翻倍

向右移位

二進位 110101 向右移一位,就是去除末尾的那一位,因此 110101 就變成了 11010(最前面的 0 可以省略)。我們將 11010 換算為十進位,就是 26,正好是 53 除以 2 的整數商。所以二進位右移一位,就是將數字除以 2 並求整數商的操作

Python實現移位操作

下面我們來看看,用代碼如何進行移位操作。

左移:

左移運算符 m << n 表示把 m 左移 n 位。在左移 n 位的時候,最左邊的 n 位將被丟棄,同時在最右邊補上 n 個 0 。比如:

00001010 << 2 = 00101000

10001010 <>> bin(int('0b00001010', 2) <>> bin(int('0b10001010', 2) <>> bin(-int('0b00001010', 2) <> n 表示把 m 右移 n 位。在右移 n 位的時候,最右邊的 n 位將被丟棄。但右移時處理最左邊位的情形要複雜一點。如果數字是一個無符號樹值,則用 0 填補最左邊的 n 位;如果數字是一個有符號數值,則用數字的符號位填補最左邊的 n 位。也就是說,如果數字原先是一個正數,則右移之後在最左邊補 n 個 0 ;如果數字原先是負數,則右移之後在最左邊補 n 個 1 。

下面是對兩個 8 位有符號數進行右移的例子:

00001010 >> 2 = 0000001010001010 >> 3 = 11110001Python 代碼【結果有點不一樣】:>>> bin(int('0b10001010', 2) >> 2).replace('0b', '').zfill(8)'00100010'>>> bin(int('0b10001010', 2) >> 3).replace('0b', '').zfill(8)'00010001'>>> bin(-int('0b10001010', 2) >> 3).replace('0b', '').zfill(8)'-0010010'

位的「或」

二進位的「1」和「0」分別對應邏輯中的「真」和「假」,因此可以針對位進行邏輯操作。

邏輯「或」的意思是,參與操作的位中只要有一個位是 1,那麼最終結果就是 1,也就是「真」。如果我們將二進位 110101 和 100011 的每一位對齊,進行按位的「或」操作,就會得到 110111。

位的「與」

同理,我們也可以針對位進行邏輯「與」的操作。「與」的意思是,參與操作的位中必須全都是 1,那麼最終結果才是 1(真),否則就為 0(假)。如果我們將二進位 110101 和 100011 的每一位對齊,進行按位的「與」操作,就會得到 100001。

位的「異或」

邏輯「異或」和「或」有所不同,它具有排異性,也就是說如果參與操作的位相同,那麼最終結果就為 0(假),否則為 1(真)。所以,如果要得到 1,參與操作的兩個位必須不同,這就是此處「異」的含義。我們將二進位 110101 和 100011 的每一位對齊,進行按位的「異或」操作,可以得到結果是 10110。

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了