将十进制转换成二进制的算法如下:

1.给定一个数;

2.根据十进制转换二进制的思想:把这个数除以2若为单数则为1,为偶数则为0,直到最后一个数为1为止。所以我们要做的就是用你给定的这个数除以2,如果结果为奇数则r=1,否则r=0;如此循环下去,直到这个数〉=1。

3.然后把r的值送到一个数组里面。最后把这个数组里面的内容从后面打印出来就可以了。

import java.util.Scanner;

public class ZhuanHuan {

public static void main(String[] args){

System.out.println("请输入一个十进制数:");

Scanner reader = new Scanner(System.in);

int n=0;

int i=0;

int r=0;

n=reader.nextInt();

int[] a =new int[10];

do{

if(n%2==1){

r=1;

}

else {

r=0;

}

a[i]=r;

n=n/2;

i++;

}

while(n>0);

System.out.println("转化成的二进制是:");

for (int j = i-1; j>=0; j--) {

System.out.print(a[j]);

}

}

}

十进制整数转换为二进制整数采用"除2取余,逆序排列"法

具体做法是:用2整除十进制整数,可以得到一个商和余数,再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二

制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

对于数值n,二进制最后一位=n%2;计算得到的结果是最后要输出的结果,使用递归函数,联系递归的特点:在递归语句之前计算n%2,在递归调用语句之后

输出结果,这样先计算的结果反而在最后输出。

import java.util.Scanner;

public class ChangeTo2 {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("请输入一个整型的十进制数:");

Scanner reader = new Scanner(System.in);

int num = 0;

num = reader.nextInt();

System.out.print("转换后的二进制数为:");

toBinary(num);

}

//递归函数

static void toBinary( int num){

int r;

r = num%2;//最后一位要输出的,即使参数=1,还是要计算到这里结束,只取出余数就ok了。然后顺次返回上一级主调函数,继续执行剩下的……

//如果商 1 / 2 = 0,计算就可以终止了,不需要再算

if(num>=2){

//精华,联系10进制转2进制的算法,每次除以2,取出余数,然后用新的商继续除以2,取出新余数……直到商为0,余数逆序输出即可

toBinary(num/2);//把新的商作为参数递归调用

}

//在递归语句之后输出,这样就是倒叙输出

System.out.print(r);

}

}

java 二进制转十进制的算法_java中十进制数转换二进制数相关推荐

  1. 递归算法和迭代算法_Java中没有递归的二进制搜索–迭代算法

    递归算法和迭代算法 这周的任务是用Java实现二进制搜索 ,您需要编写迭代和递归二进制搜索算法 . 在计算机科学中,二进制搜索或半间隔搜索是一种分而治之的算法,用于在排序数组中定位项目的位置. 二进制 ...

  2. java实现约瑟夫环完整算法_Java简单实现约瑟夫环算法示例

    Java简单实现约瑟夫环算法示例 发布时间:2020-10-01 14:19:56 来源:脚本之家 阅读:104 作者:perfect亮 本文实例讲述了Java简单实现约瑟夫环算法.分享给大家供大家参 ...

  3. java什么是栈和堆_JAVA中的栈和堆

    JAVA在程序运行时,在内存中划分5片空间进行数据的存储.分别是:1:寄存器.2:本地方法区.3:方法区.4:栈.5:堆. 基本,栈stack和堆heap这两个概念很重要,不了解清楚,后面就不用学了. ...

  4. java怎么sha散列算法_Java sha1散列算法的原理解析

    Java sha1散列算法的原理解析 发布时间:2020-10-31 00:01:59 来源:亿速云 阅读:101 作者:Leah 今天就跟大家聊聊有关Java sha1散列算法的原理解析,可能很多人 ...

  5. 十进制-75在计算机中,十进制数75转换成二进制数是多少?

    75转换成二进制是:1001011. 75/2=37......1 37/2=18......1 18/2=9.........0 9/2=4...........1 4/2=2........... ...

  6. java 数据类型转换的一场_Java数据类型之间的转换

    java数据类型的转换一般分三种,分别是: (1). 简单数据类型之间的转换,在Java中整型.实型.字符型被视为简单数据类型,这些类型由低级到高级分别为(byte,short,char)--int- ...

  7. Java实现 蓝桥杯VIP 算法训练 方格取数

    问题描述 设有NN的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0. 某人从图的左上角的A 点(1,1)出发,可以向下行走,也可以向右走,直到到达右下角的B点 ...

  8. 傻瓜教学——二进制数转换十进制数,十进制数转换二进制数的方法(方法特简单)

    我们大家学过,或者了解过计算机的都知道,在我们计算机中输入的是十进制数,存储的是二进制数,然后输出的又是十进制数. 这个过程无非就是二进制转十进制,十进制转二进制. 那么,这种算法又是怎么规定的呢? ...

  9. java二分法排序算法_Java中使用二分法排序

    在数据结构中学习过关于二分法排序的算法,但都是基于C语言或者C++使用指针的方法,自己因为要在项目中使用到此算法,才开始将原有的程序改写为Java语言的.具体的说明如下: 1.二分法查找插入位置 如果 ...

最新文章

  1. Linux课2021
  2. java聊天室小程序论文_在Java项目中利用continue与break制作一个聊天室小程序
  3. Delphi:ClientDataset+TDataSetProvider的数据保存问题
  4. android+布局倾斜,android – 如何在Eclipse图形布局视图中使斜...
  5. php session_regenerate_id,什么时候以及为什么我应该使用session_regenerate_id()?
  6. VINS(五)非线性优化与在线标定调整
  7. PHP设计渐变的效果,canvas渐变色:canvas如何实现渐变色的效果?
  8. 2016计算机二级c语言题库,计算机二级c语言题库2016精选
  9. Android免费获取短信验证码
  10. 什么是软件测试?进行软件测试的目的是什么?
  11. 移动端车牌识别要做到那一步?
  12. 计算机硬盘图标闪烁,电脑本地磁盘图标显示异常如何解决
  13. 电子地图(gis应用)开发数据来源分析
  14. 梯度下降算法和牛顿算法原理以及使用python用梯度下降和最小二乘算法求回归系数
  15. linux查看cpu核数命令,centos查看CPU以及核数命令
  16. mysql if 多个,mysql if条件中的多个条件
  17. 新型计算机教学方式,电脑教学中的“新”
  18. 【软件项目管理】任务(活动)之间的排序依据主要有:强制性依赖关系、软逻辑关系、外部依赖关系
  19. 最简单Visio导出无边框无白边pdf
  20. 结构工程师必须掌握的EMC结构设计知识

热门文章

  1. 喷墨打印机和激光打印机区别(收藏)
  2. 自动登录百度推广后台
  3. shiro详解-shiro史上最全学习笔记
  4. 1195 -- Good luck and have fun
  5. 控制台输出[HMR] Waiting for update signal from WDS...是怎么回事
  6. 最简单的重装系统方法
  7. NodeJS加解密之Crypto
  8. 奶奶版ChatGPT炸了!背刺微软泄露Win11秘钥!
  9. 关于ros2安装的那些坑
  10. 309专供 之 极坐标系