一、完整代码

public class BigInteger {

    int sing;
byte[] val; public BigInteger(int val){
// 将传递的初始值,按位取值,存入字节数组中
int val2 = val;
int i=0;
while(val/2!=0){
val = val/2;
i++;
}
i++;
this.val = new byte[i];
int j=0;
while(val2/2!=0){
this.val[j++] = (byte) (val2%2);
val2 = val2/2;
}
this.val[j]=(byte) (val2%2);
}
public static void main(String[] args) {
System.out.print("请输入要转换为二进制的数:");
BigInteger bigInteger = new BigInteger(new Scanner(System.in).nextInt());
for(int i=bigInteger.val.length-1;i>=0;i--){
System.out.print(bigInteger.val[i]);
}
}
}

二、核心思想

  1. 以 byte[] 存取二进制
  2. 通过 wile() 对该数不断除2,得到数组应设大小。
  3. 再次通过 while() 对该数的副本不断除2,取余。放入 byte[] 数组
  4. 最后输出

三、注意事项

  1. 计算数组应设长度时在最后加1:因为数组长度是从1开始,但代码中 i 是从 0 开始。
  2. 数组反向输出?:在取任意进制时,算法是先除得取。最后从最下层至上一层。一层一层获取余数。并作为高位至代位摆放

Java中通过代码得到int类型数值的二进制形式的更多相关文章

  1. Android中将十六进制 颜色代码 转换为int类型数值

    Android中 将 十六进制 颜色代码 转换为  int   类型数值 方法  : Color.parseColor("#00CCFF") 返回 int 数值 来自为知笔记(Wi ...

  2. 【转】java中byte数组与int类型的转换(两种方式)----不错

    原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ...

  3. android十六进制颜色代码转换为int类型数值

    android开发中将十六进制颜色代码转换为int类型数值方法:Color.parseColor("#00CCFF")返回int数值;

  4. Java中Object转化为int类型

    转自:http://blog.sina.com.cn/s/blog_5f8421fb010162kb.html Java中由Object类型转化为int类型时,不能直接转化,先是将Object类型转化 ...

  5. Java 中long类型转换成为int类型时可能会出错的地方

    那计算两个日期之间间隔的天数为例来说明这个问题. 下面是计算日期间隔天数的简单算法(主要出错的地方为红色标注的地方): public int getDay(String startDate, Stri ...

  6. java中char类型转换成int类型的两种方法

    方法一: char ch = '9'; if (Character.isDigit(ch)){ // 判断是否是数字 int num = Integer.parseInt(String.valueOf ...

  7. java中byte数组与int类型的转换(两种方式)

    http://blog.csdn.net/z69183787/article/details/38564219 http://blog.csdn.net/z69183787/article/detai ...

  8. Java中的基本类型和包装类型区别

    首先看一下几个测试题,验证一下java中对基本类型和包装类型的理解,看看最后输出的答案对不对,答案在这篇博客中哦: // 第一题: 基本类型和包装类型 int a = 100; Integer b = ...

  9. 算法:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

    算法:用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型.<剑指offer> 利用栈来进行操作,代码注释写的比较清楚:首先判断两个栈是否是空的:其次当栈二 ...

随机推荐

  1. thinkphp 5.1 去掉 .html 后缀

    thinkphp 5.1 去掉 .html 后缀  

  2. nyoj 16-矩形嵌套(贪心 + 动态规划DP)

    16-矩形嵌套 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:13 submit:28 题目描述: 有n个矩形,每个矩形可以用a,b来描述,表示长和 ...

  3. nyoj 73-比大小 (Java, 高精度)

    73-比大小 内存限制:64MB 时间限制:3000ms 特判: No 通过数:15 提交数:64 难度:3 题目描述: 给你两个很大的数,你能不能判断出他们两个数的大小呢? 比如1234567891 ...

  4. 力扣(LeetCode)键盘行 个人题解

    给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词.键盘如下图所示. 示例: 输入: ["Hello", "Alaska", "Dad& ...

  5. 【并发编程】Java对并发编程的支持历史

    本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 本文转载,原文请点击链接 本章主要对Java并发(Con ...

  6. vscode在终端运行脚本时出现“因为在此系统上禁止运行脚本”

    首先关闭vscode,再以管理员的身份运行vscode,然后打开终端执行: get-ExecutionPolicy,显示的是Restricted,表示状态是禁止的; 再执行:set-Execution ...

  7. MovibleNet

    MobileNet MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications MobileN ...

  8. Selenium+Java(六)Selenium 强制等待、显式等待、隐实等待

    前言 在实际测试过程中,由于网速或性能方面的原因,打开相应的网页后或在网页上做了相应的操作,网页上的元素可能不会马上加载出来,这个时候需要在定位元素前等待一下,等元素加载出来后再进行定位,根据实际使用 ...

  9. CTF中遇到的php

    1.if(eregi("hackerDJ",$_GET[id])) {   //eregi字符串对比 echo("<p>not allowed!</p& ...

  10. 使用python删除N天前的文件

    python版本为:2.7 import os import sys import time # Sets how many days old files are deleted DAYS_N = 7 ...