專題之位運算 迭代器 深淺拷貝 推導式

2021-09-26 06:55:42 字數 807 閱讀 2446

計算機儲存的都是二進位制檔案,高低電平,因為計算機只識別0和1這樣的檔案。

計算機的運算都是採用位運算的方式

原碼 二進位制檔案

反碼 原碼取反

補碼 反碼+1

注意:正數的原碼、反碼和補碼都是一樣的,上面的只是對負數說的

運算完之後的得到的是補碼,補碼取反得到反碼,反碼+1得到原碼

& 按位與運算 相同的位數都為1就為1

| 按位或運算 位數有1就是1

~ 按位非運算 取反-(n+1)

^ 按位異或運算 相異為1

<< 左移運算 低位補零

>> 右移運算 右移

概念:含有__iter__()和__next__()魔術方法的都是迭代器

特點: 能用for取值,next取值,型別強轉取值

使用: 可以自己定義迭代器,只要裡面含有那兩個方法的類

可迭代物件轉化成迭代器,只需要iter(iterable)

淺拷貝:

拷貝的成員的引用,也就是當改變成員的時候,拷貝前後成員的值不改變,但是當改變可變成員的元素時,兩個裡面都改變,常應用於列表的刪除操作等

深拷貝:

拷貝的是物件的引用,也就是說當深拷貝之後,現變數與原變數就沒有關係了,主要引用於資料的複製、儲存

列表的推導式:

常用格式[i for i in iterable if bool表示式]

注意:沒有else 的選項

位運算專題

1.寫乙個函式,返回二進位制中1的個數 define crt secure no warnings include include 寫乙個函式,返回引數二進位制中的1的個數 int count one bits unsigned int value return count int main 2.獲...

位運算專題

給定乙個整數,編寫乙個函式來判斷它是否是 2 的冪次方。示例 1 輸入 1 輸出 true 解釋 20 1 示例 2 輸入 16 輸出 true 解釋 24 16 示例 3 輸入 218 輸出 false 異或 相同為0 不同為1 相當於加法 0 0 0 1 0 1 0 1 1 1 1 0 取反 右...

演算法專題 位運算

基本概念 按位與運算 取min 按位或運算 取max 按位異或運算 不進製加法 按位取反運算 按位左移運算 按位右移運算 運算子優先順序表 判斷奇偶a 1大小寫切換c 32求x二進位制中第k位數 x k 1特定位翻轉,01111010後四位翻轉,01111010 00001111交換兩個數a a b...