摘要:上篇文章上篇文章中已經(jīng)介紹了中的一些常見的運算符的操作,今天介紹上次遺留的一個運算符位運算符。在學習位運算符之前,需要先了解一下二進制的相關概念。二進制在計算機中,只會識別和的二進制數(shù)據(jù),位運算符就是把數(shù)值都當做二進制來進行計算。
上篇文章中已經(jīng)介紹了python中的一些常見的運算符的操作,今天介紹上次遺留的一個運算符:位運算符。在學習位運算符之前,需要先了解一下二進制的相關概念。
二進制
在計算機中,只會識別0和1的二進制數(shù)據(jù),位運算符就是把數(shù)值都當做二進制來進行計算。
要想了解位運算符,首先要了解一下二進制的基本概念和與其他進制之間的轉換關系。
在二進制表示的數(shù)值里面,只會有0和1的數(shù)字出現(xiàn),那么我們現(xiàn)在看一下二進制數(shù)10001111轉換為十進制數(shù)是怎么轉換的呢?
10001111?=?1*2^7+0*2^6+0*2^5+0*2^4+1*2^3+1*2^2+1*2^1+1*2^0=143
可能有的朋友沒看懂上面的計算公式是什么意思,其實就是將2進制的每一個數(shù)都乘以2的n次方,然后將加結果相加。其中n代表的是二進制中從右往左數(shù),坐標從0開始,每一個數(shù)字所在的位置。
關于二進制的加減乘除的計算,在百度百科中有詳細的介紹,感興趣的可以自己搜索。
位運算符
位運算符以及對應的描述如下所示:
&?位與:都為1,結果才為1
|?位或:?只要有一個為1,結果就為1
^?異或 :兩個值不同時,結果為1
~ 位反:即按位取反,1變0,0變?yōu)?
要注意負數(shù)要采用補碼表示,補碼轉原碼的方式:最高位不變,其余取反然后加1
<
>>?右移:?低丟丟棄,高位補0
再出兩道題考考你們是否掌握了位運算的用途:
題目1:
計算20往左移2位,得到結果a,20往右移動2位,得到結果b,然后打印出a,b結果,
然后a&b,得到結果c,打印c的結果.要寫出計算過程。
題目2:
有a=10,b=8,交換兩個變量的值,不能用第三個變量,用異或的方式交換a和b的值。
看到這,運算符基本上就學完了,至于后面再日常工作中如何運用起來,就需要自己平時將所學知識融會貫通了。
運算符的優(yōu)先級
程序中使用運算符,就跟我們以前學數(shù)學一樣,運算符有優(yōu)先級,下圖的表格中列舉了一些運算符的優(yōu)先級,優(yōu)先級從上到下按照從高->低的優(yōu)先級排列。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/122208.html
摘要:函數(shù)內省的內容到此結束。函數(shù)式編程并不是一個函數(shù)式編程語言,但通過和等包的支持,也可以寫出函數(shù)式風格的代碼。 《流暢的Python》筆記。本篇主要講述Python中函數(shù)的進階內容。包括函數(shù)和對象的關系,函數(shù)內省,Python中的函數(shù)式編程。 1. 前言 本片首先介紹函數(shù)和對象的關系;隨后介紹函數(shù)和可調用對象的關系,以及函數(shù)內省。函數(shù)內省這部分會涉及很多與IDE和框架相關的東西,如果平時...
摘要:它是一門解析型的語言,何為解析型語言呢就是在運行時通過解析器將源代碼一行行解析成機器碼。而像語言,等則是編譯型的語言,即通過編譯器將所有的源代碼一次性編譯成二進制指令,生成一個可執(zhí)行的程序。 ...
摘要:序列不是特定的抽象數(shù)據(jù)類型,而是不同類型共有的一組行為。不像抽象數(shù)據(jù)類型,我們并沒有闡述如何構造序列。這兩個選擇器和一個構造器,以及一個常量共同實現(xiàn)了抽象數(shù)據(jù)類型的遞歸列表。 2.3 序列 來源:2.3 Sequences 譯者:飛龍 協(xié)議:CC BY-NC-SA 4.0 序列是數(shù)據(jù)值的順序容器。不像偶對只有兩個元素,序列可以擁有任意(但是有限)個有序元素。 序列在計算機科學中...
摘要:基礎之輸入輸出與高階賦值學習目標輸入輸出與注釋獲取用戶輸入格式化輸出基本方法格式化函數(shù)注釋高階賦值語句賦值運算符并行賦值序列解包鏈式賦值學習目標是簡潔易學面向對象的編程語言。 ...
摘要:所以準確來說是和共同構成了構造函數(shù)是用來創(chuàng)建類并返回這個類的實例而只是將傳入的參數(shù)來初始化該實例在創(chuàng)建一個實例的過程中必定會被調用但就不一定,比如通過的方式反序列化一個實例時就不會調用。 前言 在Python中,所有以__雙下劃線包起來的方法,都統(tǒng)稱為魔術方法。比如我們接觸最多的__init__. 有些魔術方法,我們可能以后一輩子都不會再遇到了,這里也就只是簡單介紹下; 而有些魔術方法...
閱讀 3920·2021-11-22 09:34
閱讀 1496·2021-11-04 16:10
閱讀 1728·2021-10-11 10:59
閱讀 3278·2019-08-30 15:44
閱讀 2042·2019-08-30 13:17
閱讀 3450·2019-08-30 11:05
閱讀 750·2019-08-29 14:02
閱讀 2622·2019-08-26 13:34