十进制、二进制互转
来源:互联网 发布:js insertbefore 方法 编辑:程序博客网 时间:2024/06/05 12:00
十进制->二进制
import java.util.*;public class No4_37 { public static void main(String[] args){ Scanner input=new Scanner(System.in); System.out.print("请输入十进制整数:"); int a=input.nextInt(); int b=a; int[] num=new int[32]; for(int n=31;a!=0;n--){ num[n]=a%2; a=a/2; } if(b<0){ //负整数情况 for(int n=0;n<32;n++){ num[n]=((num[n]==0)?1:0); //取反 } num[31]+=1; //加一 for(int n=31;n>0;n--){ if(num[n]==2){ num[n]=0; num[n-1]++; //满2进1 } } } for(int n=0;n<32;n++) System.out.print(num[n]); }}
以上为很“直白”的手法。。。
下面来个递归的:
public class show { public static void main(String[] args) { System.out.print(decimalToBinary(10)); } public static String decimalToBinary(int value) { if(value==0){ return "0";} if(value==1){ return "1";} int n=value/2; int m=value%2; if(n==1){ return "1"+m; } else{ return decimalToBinary(n)+m; } } }
二进制->十进制
public class show { public static void main(String[] args) { System.out.print(binaryToDecimal("11101")); } public static int binaryToDecimal(String s) { if(s.length()==1){ if(s.equals("1")){ //String不可变性啊啊啊。。。 return 1; }else{ return 0; } }else{ if(s.charAt(0)=='1'){ return (int)(Math.pow(2, s.length()-1))+binaryToDecimal(s.substring(1)); } else{ return binaryToDecimal(s.substring(1)); } } } }
0 0
- 二进制 十进制互转
- 十进制二进制互转
- 二进制十进制互转
- 十进制、二进制互转
- 二进制 十进制互转
- 二进制,十进制小数互转
- 二进制和十进制互转
- 十进制和二进制互转
- 十进制转二进制 二进制转十进制算法
- 十进制转二进制、二进制转十进制
- 转:十进制小数, 二进制小数互转
- DELHI实现十进制和二进制互转
- Delphi 二进制字符与十进制互转
- C# 二进制、十进制、十六进制互转
- c#二进制、十进制、十六进制互转
- 十进制与二进制的互转方法
- C# 二进制、十进制、十六进制互转方法
- ORACLE 十进制与二进制互转函数
- 最小生成树prim
- hive介绍
- Lua中__index和__newindex实践
- zeppelin源码分析(1)——编译、调试和maven modules分析
- unix编程(九)进程间通信
- 十进制、二进制互转
- 数组------和为定值的多个数
- JAVA-反射学习(3)
- CI框架中pdo的使用方法
- 【Android 学习】AndroidMainfest.xml详解
- c++开发ocx入门实践三--基于opencv的简易视频播发器ocx
- 字典树trie
- oracle数据库的静默(Quiesce)状态
- 长微博图片制作(无水印)