一、判断数字是否为2的幂次

思路:2的幂次的二进制只含有一个1,n-1则除了该位为0,其余皆为1,故而n & (n-1) = 0

import java.util.*;public class Main {public static void main(String[] args){Scanner in = new Scanner(System.in);while(in.hasNext()){int n = in.nextInt();System.out.println(isPowTwo(n));}}public static boolean isPowTwo(int n){return (n & (n-1))==0;}
}

二、二进制中位1的个数

编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。

注:输入的n是整数,不是上面说的二进制。

(1)暴力解法:

public class Solution {// you need to treat n as an unsigned valuepublic int hammingWeight(int n) { //输入整数String s = Integer.toBinaryString(n);int count=0;for(int i=0;i<s.length();i++){if(s.charAt(i)=='1'){count++;}}return count;}
}

(2)位逻辑操作解法:

public class Solution {// you need to treat n as an unsigned valuepublic int hammingWeight(int n) { //输入的是整数,与运算会自动转二进制运算!int count=0;while(n != 0){n = n & (n-1);//每与一次,就会少掉一个1count++;}return count;}
}

三、不使加减符号实现两数相加

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

public class Solution {public int Add(int num1,int num2) {while(num2!=0){int temp = num1^num2;//相当于每一位相加,不考虑进位(相同为0,不同为1)num2 = (num1&num2)<<1;//两数相与,都为1才为1,再左移一位,说明是求进位num1 = temp;}return num1;}
}

四、

通过二进制逻辑运算解题相关推荐

  1. 算法 Tricks(五)—— 二进制逻辑运算

    int flag = 1; while ( (data & flag) == 0 ) flag <<= 1; 判断某数的二进制形式的某位(第 k 位)是否为 1,将其与 2k2^k ...

  2. 二进制逻辑运算和基本门电路

    目录 基本门电路很重要,做内存扩展片选译码的时候会常用 一:逻辑乘(逻辑与)按位求"与" 有零出零     and   & 二:逻辑或(逻辑加)  有1出1     OR  ...

  3. 滴水逆向学习笔记 -1-

    目录 一.进制 N进制的定义 二.数据宽度_逻辑运算 数据宽度 逻辑运算 三.通用寄存器_内存读写 寄存器 内存 四.内存地址_堆栈 内存地址 堆栈 五.标志寄存器 举案例引知识 标志寄存器 相关指令 ...

  4. 山东财经大学东方学院有计算机吗,山东财经大学东方学院大一上学期计算机基础期中考试试题...

    一.计算题(30分) 1.进制转换(10分) (89.225)10 =(- )2(小数位保留4位,写出详细计算过程)(4分)(1001111011110)2 =()8 = ()16(4分) (B3E. ...

  5. 0x08.基本算法 — 总结与练习

    目录 知识点归纳 1.AcWing116. 飞行员兄弟 (POJ 2965) (dfs/位运算状态压缩) 1.DFS 2.位运算+二进制枚举 2.AcWing.117. 占卜DIY (模拟) 3.Ac ...

  6. 【Leetcode】EASY题解....ing python

    文章目录 1. 两数之和[medium] 解题思路 代码 7. 整数反转[easy] 解题思路 代码 8. 字符串转换整数 (atoi)[M] 解题思路 代码 9.回文数 解题思路 代码 12. 整数 ...

  7. 史上最通俗的《深入理解计算机网络》目录

    自我公布历时一年多时间创作的<深入理解计算机网络>这部书创作完成并交付机械工业出版社出版以来,得到许多读者读者朋友的高度关注.几乎不间断地有读者向我询问什么时候在博客中发布这本书的目录及试 ...

  8. 二进制数表示形式:原码、反码与补码

    文章目录 一.二进制数计算 (一)二进制四则运算 1.加法运算法则 2.减法运算法则 3.乘法运算法则 4.除法运算法则 (二)二进制逻辑运算 1."与"运算(AND) 2.&qu ...

  9. STC51-C51基础知识

    1 单片机定义与结构 1.1 什么是单片机  单板机:将CPU芯片.存储器芯片.I/O接口芯片和简单的I/O设备(小键盘.LED显示器)等装配在一块印刷电路板上,再配上监控程序(固化在ROM中),就构 ...

  10. 第十二届蓝桥杯大赛软件赛决赛题解

    题目下载链接 注意,以下答案均为作者本人的答案,不是官方答案!!!(也就是说,可能(多半)是错的) 填空预览 25 1903 977 2607074472 试题 A: 带宽 ##[问题描述] 小蓝家的 ...

最新文章

  1. React+Redux开发实录(一)搭建工程脚手架
  2. 内核模块相关命令:lsmod,depmod,modprob,modinfo,insmod,rmmod
  3. 十进制、十六进制、二进制习题
  4. WT32-SC01是ESP32驱动3.5彩屏开发板方案适合用arduino方式开发吗?因为需要彩屏和电容触摸的驱动的
  5. MySQL中获取天、周、月等数据
  6. mii-tool与ethtool的用法详解
  7. PS打造油画般的风景人像
  8. iOS UIDatePicker
  9. 白话讲解:消息队列到底解决了什么问题?
  10. python打平处理嵌套list
  11. Word常见基本操作-《和秋叶一起学Word》
  12. Python 函数注释
  13. python控制电脑休眠唤醒键_使用Python实现Wake On Lan远程开机功能
  14. 传16寸MacBook Pro九月发布 分辨率3072x1920
  15. 计算机组合名字大全集,好听的组合名字大全
  16. Vue子组件的显示与隐藏
  17. 投资中最简单的事儿(量价双突破,买错也要买)
  18. java定义数组变量初始化为0_java中怎么数组初始化?
  19. buctoj 2407 B 竖式 题解
  20. 数据库SQL实战11_获取员工其当前的薪水比其manager当前薪水还高的相关信息,当前表示to_date=‘9999-01-01‘, 结果第一列给出员工的emp_no, 第二列给出其manager

热门文章

  1. ZZULIOJ--2825: 收集金币
  2. ERP实施技巧:用正确的方法做正确的事
  3. 天津理工大学嵌入式实验 Fritzing电路图连线,自定义芯片原理图方法
  4. android 微信照片,手机微信图片怎么恢复 答案让人难以置信
  5. 小学计算机表格课件,小学信息技术级轻松做表格Word表格制作PPT课件.ppt
  6. linux基础篇读书笔记
  7. 如何带领好一个销售团队
  8. linux ls 配色方案,Terminal 配色方案
  9. macbook重装系统 选择方案_Mac重装系统教程(二):网络在线重装系统
  10. 程序流程图、电商项目开发流程图模板