黑马程序员技术交流社区
标题:
刚刚写的一个十进制转二进制的控制台程序
[打印本页]
作者:
王忠杰
时间:
2014-2-14 15:23
标题:
刚刚写的一个十进制转二进制的控制台程序
代码如下:
static void Main(string[] args)
{
int num = 0;
Console.WriteLine("请输入一个十进制数字:");
while (true)
{
try
{
num = Convert.ToInt32(Console.ReadLine());
break;
}
catch
{
Console.Write("输入有误!请重新输入>");
}
}
Console.WriteLine("这个数的二进制为:{0}", ToErjin(num));
Console.ReadKey();
}
/// <summary>
/// 将输入的数字转换为二进制
/// </summary>
/// <param name="number">接收用户输入数字</param>
/// <returns>返回一个二进制字符串</returns>
public static int ToErjin(int number)
{
int yushu;//余数
int rel = 1;//这里初始化为1,如果初始化为0,并且余数为0的话,将会出错
int shang = 1;//商初始化为1
while (shang != 0)
{
shang = number / 2;
yushu = number % 2;
number = shang;
rel += yushu;
rel = rel * 10;//每循环一次,余数就*10
}
//反序输出结果
string Jieguo = rel.ToString(); //先转换为字符串类型
string resultJieguo = "";//接收反序输出后的结果
//遍历字符串
for (int i = 0; i <Jieguo.Length; i++)
{
//反序
resultJieguo = Jieguo[i] + resultJieguo;
}
//在强制类型转换为int类型
int num1 = Convert.ToInt32(resultJieguo);
//由于刚刚初始化的时候rel = 1,所以反序后的结果会+1,这里要-1后返回
return num1-1;
}
复制代码
作者:
诺忔。初禾、
时间:
2014-2-14 17:25
我用Java写的十进制转二进制
import java.util.Scanner;
public class Czw
static long binary; // 定义一个变量用于存放二进制数
static int i = 0; // 定义一个计数器用于binaryMethod()方法
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("请输入十进制数:");
long num = scan.nextLong();
binaryMethod(num);
System.out.println("二进制数为: " + binary);
}
public static void binaryMethod(long num) {
if (num != 0) {
binary = (long) (num % 2 * Math.pow(10, i++) + binary);
binaryMethod(num / 2);
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2