黑马程序员技术交流社区
标题:
自己做个十转二进制程序,做好正数的了,想做负数求解
[打印本页]
作者:
莫里亚蒂
时间:
2015-4-19 18:48
标题:
自己做个十转二进制程序,做好正数的了,想做负数求解
/**
* 十进制转换二进制,而且是正序排列
*/
public class Demo9 {
public static void toBin(int num)
{
if (num > 0)
{
StringBuffer sb = new StringBuffer();
while (num > 0)
{
sb.append(num % 2);
num = num / 2;
}
System.out.println(sb.reverse());
if (1 > 0)
{
xianShi();
}
}
else
{
num=-num;
StringBuffer sb = new StringBuffer();
while (num > 0)
{
sb.append(num % 2);
num = num / 2;
}
System.out.println(sb.reverse());
}
}
public static void xianShi()
{
Scanner s = new Scanner(System.in);
System.out.println("十进制数");
int x = s.nextInt();
toBin(x);
}
public static void main(String[] args)
{
xianShi();
}
}
作者:
牵猪散步
时间:
2015-4-19 19:29
我是来学习的!
作者:
libin
时间:
2015-5-7 12:44
/**
* 十进制转换二进制,而且是正序排列
*/
import java.util.*;
public class Demo9 {
public static void toBin(int num)
{
if (num > 0) //如果输入的十进制数为正整数,则执行以下步骤
{
StringBuffer sb = new StringBuffer();
while (num > 0)
{
sb.append(num % 2);
num = num / 2;
}
System.out.println(sb.reverse());
if (1 > 0)
{
xianShi();
}
}
else //如果输入的十进制数为负数,则执行以下步骤
{
//先把负数变成正整数,取得正数的二进制代码
num=-num;
StringBuffer sb = new StringBuffer();
while (num > 0)
{
sb.append(num % 2);
num = num / 2;
}
System.out.println(sb.reverse());
//
char[] bi=new char[32];
//把二进制变成字符串
String pi=(sb.reverse()).toString();
//再把字符串分解成字符,赋给数组arry
char[] arry=pi.toCharArray();
//将二进制弄成32位,前面用0代替
for(int i=31;i>=0;i--){
if(arry.length>(31-i))
{
bi[i]=arry[31-i];
}
else{
bi[i]='0';
}
}
//取反
for(int i=0;i<32;i++){
if(bi[i]=='0'){
bi[i]='1';
}else{
bi[i]='0';
}
}
//加1
for(int i=31;i>=0;i--){
if(bi[i]=='0'){
bi[i]='1';
break;
}else{
bi[i]='0';
}
}
for(int i=0;i<32;i++){
System.out.print(bi[i]);
}
System.out.println();
}
}
public static void xianShi()
{
Scanner s = new Scanner(System.in);
System.out.println("十进制数");
int x = s.nextInt();
String qq=Integer.toBinaryString(x);
System.out.println(qq);
toBin(x);
}
public static void main(String[] args)
{
xianShi();
}
}
作者:
libin
时间:
2015-5-7 12:45
花了我一上午的时间,终于有点成功。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2