首页
/
每日頭條
/
生活
/
計算機的二進制怎麼運用
計算機的二進制怎麼運用
更新时间:2026-05-15 02:29:03

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

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

向左移位

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

什麼是數字溢出?

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

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

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

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

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

向右移位

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

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

Python實現移位操作

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

左移:

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

00001010 << 2 = 00101000

10001010 << 3 = 01010000

Python 代碼【結果有點不一樣】: >>> bin(int('0b00001010', 2) << 2).replace('0b', '').zfill(8) '00101000' >>> bin(int('0b10001010', 2) << 3).replace('0b', '').zfill(8) '10001010000' >>> bin(-int('0b00001010', 2) << 2).replace('0b', '').zfill(8) '-0101000'

右移:

右移運算符 m >> n 表示把 m 右移 n 位。在右移 n 位的時候,最右邊的 n 位将被丢棄。但右移時處理最左邊位的情形要複雜一點。如果數字是一個無符号樹值,則用 0 填補最左邊的 n 位;如果數字是一個有符号數值,則用數字的符号位填補最左邊的 n 位。也就是說,如果數字原先是一個正數,則右移之後在最左邊補 n 個 0 ;如果數字原先是負數,則右移之後在最左邊補 n 個 1 。

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

00001010 >> 2 = 00000010 10001010 >> 3 = 11110001 Python 代碼【結果有點不一樣】: >>> 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。

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

位的“與”

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

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

位的“異或”

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

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

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
輔導孩子作業爸爸被氣哭
輔導孩子作業爸爸被氣哭
最讓老母親膽戰心驚的親子活動莫過于給孩子輔導作業上一秒母慈子孝下一秒雞飛狗跳的經曆想想都讓人崩潰近日,遼甯鞍山一段哥哥教妹妹寫作業的視頻走紅視頻中妹妹把哥哥氣到哭了10月11日,遼甯鞍山的鐘女士在輔導9歲女兒寫作業時,被氣得夠嗆,在一旁的1...
2026-05-15
今年最優秀的後宮動漫推薦
今年最優秀的後宮動漫推薦
BL入門必看的純愛動漫,第二部是國漫,最後一部是經典被全網下架一入腐門深似海,從此BG是路人。這句話也不知道是誰總結的,但是小編不得不承認,真的說得太對了。當你看BL的時候,其實BG也是能夠看的,隻是就會變得很挑剔,挑剔到什麼地步?就是非精...
2026-05-15
鳊魚的做法家常
鳊魚的做法家常
鳊魚的做法家常?食材:鳊魚一條、蒜頭六七個、姜2塊,我來為大家科普一下關于鳊魚的做法家常?下面希望有你要的答案,我們一起來看看吧!鳊魚的做法家常食材:鳊魚一條、蒜頭六七個、姜2塊。将鳊魚殺好,魚鰓、内髒、魚鱗都處理幹淨,清洗幹淨,再在它表明...
2026-05-15
落水小夥跪謝7旬老人救命
落水小夥跪謝7旬老人救命
來源:【交彙點新聞客戶端】交彙點訊日前,宿遷市一處公園内發生驚險一幕:一名幼童不慎落水,奶奶救人心切,下水後也陷入了危險中。危急時刻,一名過路的小夥衣服都沒來得及脫,就一頭紮進水中,不到5分鐘就把祖孫二人救上了岸,事後,他在确認祖孫倆安全後...
2026-05-15
關于動漫的專業術語
關于動漫的專業術語
喜歡動漫的小夥伴,可能會學到很多的新詞彙,就是所謂的動漫術語,可是你真的明白它們的意思嗎?今天就讓我們來總結一下那些熱點的動漫術語吧,做好筆記呦!妹抖妹抖是日語“女仆”的發音(貌似是meido)。妹抖是由英語女傭(maid)這個詞轉化而來。...
2026-05-15
Copyright 2023-2026 - www.tftnews.com All Rights Reserved