首页 > 其他分享 >二的幂次方判断——使用位运算-来源于lowbit操作

二的幂次方判断——使用位运算-来源于lowbit操作

时间:2024-04-27 14:11:45浏览次数:25  
标签:10 return 运算 二进制 lowbit 次方

 

解法:位运算的使用

这里需要就是了解位运算的使用了 lowbit函数

x & -x
这种算法其实是利用了计算机的补码性质。计算机为了表示负数,将对应的正数二进制全部取反再加一。

lowbit是为了获取一个数的二进制中最低位的1对应的值,比如lowbit(10(10)) = 10(2),因为10的二进制表达是1010。

在这个基础上,如果这个数是二的幂次方的话,其二进制就只有一个1,因此使用这个操作后得到的值就是本身,所以就很简单就能判断。

 

代码实现:

class Solution {

public:

    bool isPowerOfTwo(int n) {

       if(n>0&&(n&-n)==n)

       return true;

       else

       return false;

    }

};

标签:10,return,运算,二进制,lowbit,次方
From: https://www.cnblogs.com/FJCLJ/p/18161993

相关文章

  • shell-文件运算符
    一、常用文件测试运算符文件是否存在:[[-efilename]]是否可读:[[-rfilename]]是否可写:[[-wfilename]]是否可执行:[[-xfilename]]是否为空:[[-sfilename]]是否为目录:[[-dfilename]]是否为普通文件:[[-ffile......
  • python身份运算符
    在Python中,身份运算符用于比较两个对象的内存地址,即它们是否引用了同一个对象。Python中的身份运算符包括is和isnot。is:如果两个变量引用了同一个对象,则返回True。isnot:如果两个变量引用的不是同一个对象,则返回True。下面是一个简单的示例:x=[1,2,3]y=[1,2,......
  • 身份运算符
    身份运算符身份运算符通常在编程中用于比较两个对象是否是同一个对象,而不是只比较它们的值。在许多编程语言中,身份运算符通常表示为is或===,具体取决于编程语言的语法。例如,在Python中,is是身份运算符,用于比较两个对象的标识是否相同,即它们是否指向内存中的同一块地址:a=[1,2,......
  • 随机生成三百道四则混合运算题目程序
    22521362252130这位是一个程序,可以随机生成300道四则混合运算题目程序,并可以输入题号做题,输入答案后,程序会判定你做的是否对。点击查看代码publicclassOperation{publicstaticvoidmain(String[]args){List<String>validEquations=generateValidEqua......
  • [转] JS运算符 &&和|| 及其优先级
    [转]JS运算符&&和||及其优先级:https://blog.csdn.net/banyu0052/article/details/101946098?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7EPaidSort-1-101946098-blog-82424825.235%5Ev43%5Ep......
  • JS基础(二)运算符、流程控制语句、数组对象、JSON对象、Date对象、Math对象、Function对
    一运算符<script>//算数运算符//(1)自加运算varx=10;//x=x+1;//x+=2;varret=x++;//先赋值再计算:x+=1//varret=++x;//先计算再赋值:x+=1console.log(x)......
  • 数字电路基础-二进制数据表达;数电基础(基础逻辑门电路、运算器)
    嵌入式技术之从零搭建计算机课堂笔记第1章数字电路基础1.1二进制数据表达文字图片 ——透明度占1个字节,只有png图片有透明度该选项,其他图片都是(24位;3字节)对应3原色声音视频1.2数电基础①基础逻辑门电路需要记住:口诀、符号、表达式!1.非门口诀:输出与输入......
  • Python Numpy 矩阵运算
    目录1前言2点积与矩阵乘法2.1np.dot()2.2np.matmul()和@2.3np.multiply和*3矩阵的逆4Ref1前言Python中经常涉及到矩阵运算,其借助于Numpy库进行,因此本文记录一些基于Numpy的矩阵运算2点积与矩阵乘法矩阵的点积(dotproduct),又称为内积(innerproduct)$a=(x_1,y_1)......
  • 结对编码-四则运算 2252118 2252121
    22521182252121程序具有以下特点和功能:随机生成题目:程序会随机生成包含两个运算符(加、减、乘、除)的四则运算题目。整数结果:所有运算的结果都是整数,避免了小数的出现。运算符优先级:程序正确处理了运算符的优先级,确保乘法和除法在加法和减法之前执行。整除调整:在涉及除法的题......
  • 结对编程 四则运算
    题目:小学老师要每周给同学出300道四则运算练习题。这个程序有很多种实现方式:C/C++C#/VB.net/JavaExcelUnixShellEmacs/Powershell/VbscriptPerlPython两个运算符,100以内的数字,不需要写答案。需要检查答案是否正确,并且保证答案在0——1000之间我们采用的是c++来实......