android 十进制转int 十进制转换成二进制java 您所在的位置:网站首页 六进制转化成二进制 android 十进制转int 十进制转换成二进制java

android 十进制转int 十进制转换成二进制java

2023-06-27 04:01| 来源: 网络整理| 查看: 265

正整数的十进制转换二进制

将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒取除得的余数,即换算为二进制数的结果。只需记住要点:除二取余,倒序排列。

由于计算机内部表示数的字节单位都是定长的,以2的幂次展开,或者8位,或者16位,或者32位....。于是,一个二进制数用计算机表示时,位数不足2的幂次时,高位上要补足若干个0。

android 十进制转int 十进制转换成二进制java_进制

 

二进制转换为十进制

二进制转十进制的转换原理:从二进制的右边第一个数开始,每一个乘以2的n次方,n从0开始,每次递增1。然后得出来的每个数相加即是十进制数

android 十进制转int 十进制转换成二进制java_servlet_02

 2进制转10进制//2进制转10进制 public static void from2To10(String s){ int i = Integer.parseInt(s, 2); System.out.println("二进制["+s+"]转换十进制结果["+i+"]"); }10进制转2进制//10进制转2进制 public static void from10To2(Integer i){ String s = Integer.toBinaryString(i); System.out.println("十进制["+i+"]转换二进制结果["+s+"]"); }10进制转16进制//10进制转16进制 public static void from10To16(Integer i){ String s = String.format("%16x", i).trim(); System.out.println("十进制["+i+"]转换十六进制结果["+s+"]"); }16进制转10进制//16进制转10进制 public static void from16To10(String s){ int i = Integer.parseInt(s, 16); System.out.println("十六进制["+s+"]转换十进制结果["+i+"]"); }2进制转16进制//2进制转16进制 public static void from2To16(String s){ int i = Integer.parseInt(s, 2); //先把二进制转为十进制数字 String str = String.format("%16x", i).trim(); //再把十进制数字转为十六进制 System.out.println("二进制["+s+"]转换十六进制结果["+str+"]"); }16进制转2进制//16进制转2进制 public static void from16To2(String s){ int i = Integer.parseInt(s, 16); //先把十六进制转为十进制数字 String str = Integer.toBinaryString(i); //再把十进制数字转为二进制 System.out.println("十六进制["+s+"]转换十进制结果["+str+"]"); }public static void main(String[] args) { //2->10 from2To10("1000"); //10->2 from10To2(8); //10->16 from10To16(666); //16->10 from16To10("29a"); //2->16 from2To16("10101110"); //16->2 from16To2("ae"); }

android 十进制转int 十进制转换成二进制java_jvm_03

 

代码

Scanner sc=new Scanner(System.in);//创建一个扫描器对象 int a;//创建一个变量a int b[] = new int[32];//创建一个容量为32的一个数组; int count = 0;//创建一个数组计数器 System.out.println("请输入一个十进制数:");//提示用户操作 a = sc.nextInt();//把扫描器输入的十进制值赋给a while (a > 0) { //因为上面我们说了二进制需要我们倒着写,所以干脆就把第一个余数存到数组最后一位 b[31 - count] = a % 2; //上面算的是余数,a/=2是为了算下次a的值 a /= 2; count++;//数组计数器 } System.out.print("转换二进制为:") for (int i = 0; i < b.length; i++) { System.out.print(b[i]);//因为上面是倒着输入了,所以我们只需要用for正在输出就行了 if ((i + 1) % 8 == 0) { System.out.print("|");//为了美观创建一个分界线 } }

android 十进制转int 十进制转换成二进制java_servlet_04

#结论1.需要注意光用一个/或%都是不行的,并且在这个代码的循环语句里的逻辑必须是先算取余,再算除,否则就会落下第一余数。 2.我刚采用的是倒着把余数往数组里输入,正着输出结果,当然也可以正着输入余数,倒着输出结果。

3.有余数的为1没有余数的为0

android 十进制转int 十进制转换成二进制java_jvm_05



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有