java十进制转二进制
2017-11-16 14:33:33 0 举报
java十进制转二进制的算法
作者其他创作
大纲/内容
sum=1+1*10sum=11
remainder=7%2remainder=1
a=30/2a=15
方法2
方法3
方法1
sum=11+0*100sum=11
int a=123;int remainder;int sum=0;int k=1
remainder=61%2remainder=1
sum=1111011
sum = sum+remainder*k;
k=1*10k=10
a=3/2a=1
Integer.toBinaryString( ) 括号里面写上你要转换的十进制数
true
false
a=123/2a=61
sum=11011+1*100000sum=111011
remainder=3%2remainder=1
a=1/2a=0
System.out.println(sum);
remainder=30%2remainder=0
a=61/2a=30
结束
remainder=a%2;
sum=1011+1*10000sum=11011
sum=11+1*1000sum=1011
通过求余,求商,并计算值
a=15/2a=7
public static void main(String[] args) { // TODO Auto-generated method stub int a = 123;//定义一个变量并赋给他一个十进制的值 int remainder;//定义一个变量用于存储余数 int sum = 0;//定义一个变量用于存放和 int k = 1;//定义一个变量控制位数 while(a != 0){ remainder = a % 2;//对目标数字求余 a /= 2;//对目标数字求商 sum = sum + remainder * k;//求和 k *= 10;//改变位数 } System.out.println(\"10进制的123转换为2进制结果为:\" + sum ); }
进行书面的取余除商增位或心算
a!=0
remainder=123%2remainder=1
k=10*10k=100
k *= 10;
public static void main(String[] args) { 十进制转换为二进制 System.out.println(Integer.toBinaryString(10));}
sum=111011+1*1000000sum=1111011
开始
remainder=15%2remainder=1
sum=0+1*1 sum=1
remainder=1%2remainder=1
a==0则继续执行循环内语句再次判断while条件时跳出while循环
a /= 2;
a=7/2a=3
0 条评论
下一页