[算法]判斷一個數是不是2的N次方

如果一個數是2^n,說明這個二進制里面只有一個1。除了1.

?

a??= (10000)b

a-1 = (01111)b

a&(a-1) = 0。

如果一個數不是2^n,

說明它的二進制里含有多一個1。

a = (1xxx100)b

a-1=(1xxx011)b

那么?a&(a-1)就是 (1xxx000)b,

而不會為0。

所以可以用這種方法判斷一個數是不2^n。

?

轉載于:https://www.cnblogs.com/lyggqm/p/5549589.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457842.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457842.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457842.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VMware Ubuntu 全屏問題解決

在終端中輸入: sudo apt install open-vm* 回車 自動解決

數組拼接時中間怎么加入空格_【題解二維數組】1123:圖像相似度

1123:圖像相似度時間限制: 1000 ms 內存限制: 65536 KB【題目描述】給出兩幅相同大小的黑白圖像(用0-1矩陣)表示,求它們的相似度。說明:若兩幅圖像在相同位置上的像素點顏色相同,則稱它們在該位置具有相同的像素點。兩幅圖像的…

(舊)子數涵數·C語言——條件語句

首先,我們講一下理論知識,在編程中有三種結構,分別是順序結構、條件結構、循環結構,如果用流程圖來表示的話就是: 那么在C語言中,如何靈活運用這三種結構呢?這就需要用到控制語句了。 而條件語句…

apache.commons.lang.StringUtils 使用心得

apache.commons.lang.StringUtils 使用心得 轉載于:https://www.cnblogs.com/qinglizlp/p/5549687.html

python哪個版本支持xp_windows支持哪個版本的python

Windows操作系統支持Python的Python2版本和Python3版本,下載安裝時要根據windows的操作系統來選擇對應的Python安裝包,否則將不能安裝成功。 Python是跨平臺的,免費開源的一門計算機編程語言。是一種面向對象的動態類型語言,最初被…

Ubuntu 鍵盤錯位解決 更改鍵盤布局

原因是鍵盤布局不能適應鍵盤 解絕方法:更改鍵盤布局 一般改為標準104鍵盤就行 在終端輸入 sudo dpkg-reconfigure keyboard-configuration 選擇 標準104鍵盤 然后一直回車就行

【No.1 Ionic】基礎環境配置

Node 安裝git clone https://github.com/nodejs/node cd node ./configure make sudo make install node -v npm -vnpm設置淘寶鏡像npm config set registry https://registry.npm.taobao.org npm config set disturl https://npm.taobao.org/distIOS Simulatorsudo npm instal…

識別操作系統

使用p0f進行操作系統探測 p0f是一款被動探測工具,通過分析網絡數據包來判斷操作系統類型。目前最新版本為3.06b。同時p0f在網絡分析方面功能強大,可以用它來分析NAT、負載均衡、應用代理等。 p0f的命令參數很簡單,基本說明如下: l…

常用RGB顏色表

轉載于:https://www.cnblogs.com/Itwonderful/p/5550800.html

python中seek函數的用法_在Python中操作文件之seek()方法的使用教程

seek()方法在偏移設定該文件的當前位置。參數是可選的,默認為0,這意味著絕對的文件定位,它的值如果是1,這意味著尋求相對于當前位置,2表示相對于文件的末尾。 沒有返回值。需要注意的是,如果該文件被打開或…

WPF中Grid實現網格,表格樣式通用類(轉)

/// <summary> /// 給Grid添加邊框線 /// </summary> /// <param name"grid"></param> public static void InsertFrameForGrid(Grid grid) { var rowcon grid.RowDefinitions.Count; var clcon grid.ColumnDefinitions.Count; for (var i…

VS2017 安裝 QT5.9

VS2017專業版使用最新版Qt5.9.2教程&#xff08;最新教材&#xff09; 目錄 VS2017專業版使用最新版Qt5.9.2教程&#xff08;最新教材&#xff09; 運行環境&#xff1a; 1.安裝Qt5.9.2 2.安裝Qt5.9與VS2017之間的插件: 3.配置Qt VS Tool的環境. 4.設置創建的Qt的項目的屬…

異步與并行~ReaderWriterLockSlim實現的共享鎖和互斥鎖

返回目錄 在System.Threading.Tasks命名空間下&#xff0c;使用ReaderWriterLockSlim對象來實現多線程并發時的鎖管理&#xff0c;它比lock來說&#xff0c;性能更好&#xff0c;也并合理&#xff0c;我們都知道lock可以對代碼塊進行鎖定&#xff0c;當多線程共同訪問代碼時&am…

linux ssh yum升級_Linux 運維必備的 13 款實用工具,拿好了

作者丨Erstickthttp://blog.51cto.com/13740508/2114819本文介紹幾款 Linux 運維比較實用的工具&#xff0c;希望對 Linux 運維人員有所幫助。1. 查看進程占用帶寬情況 - NethogsNethogs 是一個終端下的網絡流量監控工具可以直觀的顯示每個進程占用的帶寬。下載&#xff1a;htt…

iOS應用如何支持IPV6

本文轉自 http://www.code4app.com/forum.php?modviewthread&tid8427&highlightipv6 果然是蘋果打個哈欠&#xff0c;iOS行業內就得起一次風暴呀。自從5月初Apple明文規定所有開發者在6月1號以后提交新版本需要支持IPV6-Only的網絡&#xff0c;大家便開始熱火朝天的研…

SQL Server -- SQLserver 存儲過程執行錯誤記錄到表

SQLserver 存儲過程執行錯誤記錄到表 From: http://blog.csdn.net/leshami/article/details/51333650 對于在執行存儲過程中碰到的一些錯誤&#xff0c;如果未及時捕獲或者說傳遞給前端應用程序來&#xff0c;在這樣的情形下&#xff0c;故障的排查顯得尤為困難。基于此&…

opencv python教程簡書_OpenCV-Python系列二:常用的圖像屬性

對于圖像&#xff0c;我們經常需要知道關于圖像的特殊屬性&#xff0c;比如寬度&#xff0c;高度&#xff0c;面積&#xff0c;像素點數目等等&#xff0c;那么在opencv-python中&#xff0c;這些信息如何獲取呢&#xff1f; 本文結構&#xff1a; 1.基本圖像屬性 2. 對于openc…

C++靜態成員函數指針

C的靜態成員函數指針 先簡單的說說非靜態的成員函數。 非靜態成員函數指針的類型&#xff1a; 類的非靜態成員是和類的對象相關的。也就是說&#xff0c;要通過類的對象來訪問變量。 成員函數的類型定義為&#xff1a; typedef void (A::*pfunc)(); A是一個類,有一個成員函數…

Windows下C語言連接Oracle數據庫

為什么80%的碼農都做不了架構師&#xff1f;>>> 最近公司有個項目需要用到Oracle數據庫&#xff0c;我負責前期的調研。由于項目要用到C和PHP兩種語言&#xff0c;所以先收集這兩種語言連接Oracle的方法。PHP使用的是Laravel框架&#xff0c;直接使用了Laravel-OCI…

SU suspecfk命令學習

用suplane生成平面&#xff0c;并查看其FK譜&#xff0c; 水平反射界面經FK變換后&#xff0c;波數為0&#xff0c; 正好處于臨界&#xff0c;乃奎斯特頻率&#xff0c; 有空間假頻&#xff0c; Over&#xff0c;不足之處&#xff0c;歡迎批評指正。 轉載于:https://www.cnblog…