java 10进制转2进制递归算法_十进制转二进制
十进制转二进制 JAVA实现
一、toBinaryString()方法
利用Java自己封装的转换二进制静态方法直接转换。
public static void main(String[] args) {
String s = Integer.toBinaryString(7);
int i = Integer.parseInt(s);
System.out.println(i);
}
二、递归
public static void main(String[] args) {
decTooBin(7);
}
private static void decTooBin(int n) {
if (n == 0) {
return;
}
decTooBin(n / 2);
System.out.print(n % 2);
}
三、位运算
这种方法是效率最高的。
计算机底层是二进制存储,将待求数向右移位,移到的位数后进行 & 1 操作,如果能保留下来1,则说明待求数n本来的位置上就是有值的,所以直接输出即可,如果没有保留,则 & 1 剩余结果为0。
需要注意的是,移位操作要从高位开始向低位移动
因为高位先移动,才能最先开始输出。在结果中才占高位。
public static void main(String[] args) {
decTooBin(7);
}
private static void decTooBin(int n) {
// i初始化的值必须大于待求数的二进制位数
for (int i = 31; i >= 0; i--) {
System.out.print((n >>> i) & 1);
}
}
输出:00000000000000000000000000000111
四、迭代
原理就是模拟一遍取余求二进制。
public static void main(String[] args) {
decTooBin(7);
}
private static void decTooBin(int dec) {
int res = 0, num = dec, k = 1;
while (num != 0) {
res += k * (num % 2);
num /= 2;
k *= 10;
}
System.out.println(res);
}
java 10进制转2进制递归算法_十进制转二进制相关推荐
- java 10进制转2进制递归算法_Java十进制转二进制,递归算法
用递归算法求一个int的二进制字符串: 思路是:递归最简单情况(递归出口)是0和1:其余的是先调用递归算出n/2的二进制字符串,然后加上n时的位数(n % 2). import java.util.S ...
- c语言中二进制与十进制怎么转换器,十进制与二进制如何互转换?编程语言教会你进制编程...
计算机语言中经常使用到进制之间的转换,本文介绍使用不同编程语言来如何实现十进制与二进制相互之间的转换?不同编程语言中进制转换原理是一样的. 十进制转换二进制原理:采用除2取余,逆序排列输出. 实现:用 ...
- 4、计算机中的进制数转换(十进制、二进制、八进制、十六进制)
目录 课前先导 一.计算机中的进制数 十进制(简写:D) 二进制(简写:B) 八进制(简写:Q) 十六进制(简写:H) 二.计算机进制数之间的转换 1.十进制转二进制 2.十进制转八进制 3.十进制转 ...
- JAVA 进制转换工具类 10进制转16进制 10进制转2进制 16进制转2进制 16进制10进制 2进制转10进制 2进制转16进制
进制转换的坑: 注意:使用Integer的方法转换出来的2进制字符串 最高位是没有补零的 ,java的Integer类的toBinaryString()方法转换出来的二进制字符串只会保留最高非零位以后 ...
- java 10进制转16进制带ox格式输出
摘自https://yq.aliyun.com/wenzhang/show_28512 java 10进制转16进制带ox格式输出 如 60(10进制) 输出 : 0x00,0x00,0x00,0x3 ...
- java 10进制转64进制_十进制与64进制互相转换算法
实现代码如下: /** * */ package com.M.controller.test; import java.util.Stack; /** * * @author online zuozu ...
- java long转16进制_java 16进制与10进制等转换 | 学步园
/十进制转16进制 String s = "16"; String _hex = Integer.toHexString(Integer.parseInt(s)); System. ...
- java实现8、10、16、2进制之间的相互转换(简单易懂实用快速)
文章目录 1.二进制与其他进制的转换 2.十六进制与其他进制的转换 3.十进制与其他进制的转换 4.八进制与其他进制的转换 今天在练习算法题的时候遇到了进制之间的转化,如果通过深究原理的方式来写代码的 ...
- java 10进制转64进制_JAVA中实现十进制与其它自定义进制进行相互转换。 - yz124的日志 - 网易博客...
我们通常用到的数字都是十进制的,日常使用的也是这样,但是在程序中,我们可能还会经常用到二进制.八进制.十六进制的数字.既然程序中会使用到,那么就会有它存在的道理.有些时候,将数字用字符串保存到文件或者 ...
最新文章
- 超级vga显示卡_VGA 显示卡简介
- 15个顶级Java多线程面试题及回答(高级java工程师)
- [云炬python3玩转机器学习笔记] 2-7开发环境搭建笔记
- 从3个科技公司里学到的57条经验(转)
- POJ 1182 食物链 (并查集解法)(详细注释)
- java web博客系统_JavaWeb之博客系统(五)
- Python操作Redis中的hash
- 从 DevOps 到 NoOps,Serverless 技术的落地方式探讨
- WIN版的Jenkins Master加入LINUX的SLAVE节点,并作C++程序的集成交付
- idea2019打卡没多久就闪退_IDEA 2020.1打开时闪退的问题及解决方法(完美解决方法)...
- 又一个查询,哥整了一天,NND有点受不鸟了
- 学python需要什么基础-学Python需要什么基础知识?零基础可以学Python吗?
- Python--JavaScript的对象
- .NET Framework框架的介绍
- 计算机组成原理题集,计算机组成原理试题集含答案
- 火力发电行业三大知识图谱应用场景,助力火力发电厂清洁高效智慧化运营
- 手机在我状态查询易语言代码
- 在Win10系统中用mimikatz抓取明文密码
- js return加分号_JS代码中加分号和不加分号的区别
- 在python中用于获取用户输入的是-在Python中,用于获取用户输入的函数是
热门文章
- oracle比mysql查询快的原因_Oracle查询速度慢的原因总结
- 美女面试官问我Python如何优雅的创建临时文件,我的回答....
- Python实现完全二叉树
- 漫步数学分析二十九——幂级数
- 漫步微积分十二——隐函数、分数指数
- 机器人驾驶的神经网络愿景(上)
- leetcode —— 34. 在排序数组中查找元素的第一个和最后一个位置
- 深度学习的实用层面 —— 1.14 关于梯度检验实现的标记
- Dirichlet Process和Hierarchical Dirichlet Process的理解(PPT)
- python 3.5安装pywin32