java 二进制转十进制的算法_java中位运算与整数的十进制转二进制
位运算是指按二进制进行的运算。
在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。(java中基本相同)
运算符介绍:
& 按位与,如果两个相应的二进制位都为1,则该位的结果值为1,否则为0
| 按位或,两个相应的二进制位中只要有一个为1,该位的结果值为1
^ 按位异或,若参加运算的两个二进制位值相同则为0,否则为1
~ 取反 ,~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0
<
>> 右移 ,将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0
应用思路:
在应用中当涉及多选1或者多选多的选择结果问题时,可通过位运算的结果来表示选择和不选的情况,这样能节省存储并提高效率。
public static void main(String[] args)
{
int num = 1;//1
System.out.println(Integer.toBinaryString(num));
System.out.println(num <
System.out.println(num <
System.out.println(num | num <
int num2 = 8;
System.out.println(Integer.toBinaryString(8));
System.out.println(num2 >> 1);
System.out.println(num2 >> 2);
System.out.println(num2 >> 1 | num2 >> 2 | num2 >> 3);
int num3 = 16;
String s = Integer.toBinaryString(num3);
System.out.println("s=" + s);
char[] a = s.toCharArray();
for (int i = 0; i
{
System.out.println("num=" + i + ",c=" + a[i] + ",notZero=" + (a[i] == '1'));
}
}
结果输出:
1
2
4
7
1000
4
2
7
s=10000
num=0,c=1,notZero=true
num=1,c=0,notZero=false
num=2,c=0,notZero=false
num=3,c=0,notZero=false
num=4,c=0,notZero=false
java 二进制转十进制的算法_java中位运算与整数的十进制转二进制相关推荐
- java 位与运算_java中位运算和移位运算详解
一.位运算 (1)按 位 与 & 如果两个相应的二进制形式的对应的位数都为1,则结果为1,记为同1为1,否则为0.首先我们看一下对正数的运算 分别看一下正数和负数的具体运算步骤 正数直接取二进 ...
- java 二进制转十进制的算法_java中十进制数转换二进制数
将十进制转换成二进制的算法如下: 1.给定一个数: 2.根据十进制转换二进制的思想:把这个数除以2若为单数则为1,为偶数则为0,直到最后一个数为1为止.所以我们要做的就是用你给定的这个数除以2,如果结 ...
- java中取整数绝对值_Java之——位运算求整数绝对值
通过下面的位运算可以得到一个整数的绝对值 public int abs( int a ) { return (a + (a >> 31)) ^ (a >> 31) ;//前半部 ...
- 算法之美 | 位运算的巧妙奥秘(一) | JAVA中位运算的深入浅出
文章目录 前言 一.位运算符号 二.位运算的运算规则 扩展 前言 传智杯初赛后有感而写,我目前阶段所学习的算法,只是最基础的数学,对于数字和数学公式还是不敏感,在小卡与质数2那道题,解题的思路只有最基 ...
- 打开dll文件时模块加载失败,请确保二进制存储在指定的路径中,或者调试它以检查该二进制或相关的.DLL文件是否有问题
** 打开dll文件时模块加载失败,请确保二进制存储在指定的路径中,或者调试它以检查该二进制或相关的.DLL文件是否有问题 **打开dll文件时模块加载失败,电脑提示请确保二进制存储在指定的路径中,或 ...
- 位运算求整数中二进制1的个数
package _位运算;public class _位运算求整数中1的个数 {public static void main(String[] args) {int n = 4;int ans = ...
- C/C++中位运算操作符的使用
C/C++中位运算操作符的使用 介绍 使用 "与"运算符 "或"运算符 "取反操作" "异或"运算符 "左移& ...
- C语言截取整数的某些位编程,C语言中位运算的巧用(转)
一 .位运算实例 1.用一个表达式,判断一个数X是否是2的N次方(2,4,8,16.....),不可用循环语句. X:2,4,8,16转化成二进制是10,100,1000,10000.如果减1则变成0 ...
- c语言中位运算之布尔运算
c语言中位运算中的布尔运算有:&.|.~.^ &:按位与 |:按位或 ~:按位非 ^:按位异或,相同为0,相异为1. 计算规则如下: 位的逻辑运算的作用: 使用位向量做集合编码: 使用 ...
- 递归算法和迭代算法_Java中没有递归的二进制搜索–迭代算法
递归算法和迭代算法 这周的任务是用Java实现二进制搜索 ,您需要编写迭代和递归二进制搜索算法 . 在计算机科学中,二进制搜索或半间隔搜索是一种分而治之的算法,用于在排序数组中定位项目的位置. 二进制 ...
最新文章
- 2021-10-27 我与地坛
- 南瓜派php,南瓜派_【顶级厨师】南瓜派_日志_美食天下
- APT***的那些事
- oracle 共享硬盘主从,oracle dataguard主从切换
- asp.net发送邮件时在正文中插入图片
- 小心 HttpClient 中的 FormUrlEncodeContent 的 bug
- React :caniuse-lite is outdated. please run next command
- ubuntu9.10之grub.cfg详解
- 吴俊计算机音乐研究者,音乐与科学有效整合的研究
- Android 使用低功耗蓝牙简单介绍
- 新建了个文件写代码报 Delete `␍`
- 跟我学在高德地图——标注我的位置
- 疯狂的程序员_戴蓓会客厅第13期|疯狂的程序员 三维家蔡志森的野心
- [脚本]用windows批处理文件自动化Python(虚拟)环境的配置
- 程序员视角m1 Macbook air使用指南和指令备忘录
- php百分比乘加,PHP学习笔记第一篇 基础知识
- 知网caj怎么转成可编辑的Word?手机可以转吗?
- dijkstra算法为什么不能计算负权重?
- Linux云计算薪资及发展前景,云计算Linux就业方向及前景分析 2019云计算行业发展现状及前景趋势分析...
- [黑科技] WPS通过VB宏函数实现自编号功能