十进制转换成二进制
关键技术
用数组来存储每次对2取余的结果,再用两层for循环输出出来
代码如下:
1.c
代码如下(示例):
#include "stdio.h"
main()
{
int i, j, n, m; /*定义变量i,j,n,m*/
int a[16] =
{
0
}; /*定义数组a,元素初始值为0*/
printf("please input the decimalism number(0~32767):\n"); /*输出双引号内普通字符*/
scanf("%d", &n); /*输入n的值*/
for (m = 0; m < 15; m++) /*for循环从0到14,最高为符号位,本题始终为0*/
{
i = n % 2; /*取2的余数*/
j = n / 2; /*取被2整除的结果*/
n = j; /*将余数每次的余数存入数组a中*/
a[m] = i;
}
for (m = 15; m >= 0; m--)
{
printf("%d", a[m]); /*for循环,将数组中的16个元素从后往前输出*/
if (m % 4 == 0)
printf(" "); /*每输出4个元素,输出一个空格*/
}
}
2.java
代码如下(示例):
/**
* @author zwking
* @E-mail zwyc16@163.com
* @create 2021-09-13 14:40
*/
import java.util.Scanner;
/**
* 十进制转换成二进制
*/
public class Demo01 {
public static void main(String[] args) {
int i, j, n, m; /*定义变量i,j,n,m*/
int a[]=new int [16]; /*定义数组a,元素初始值为0*/
System.out.println("请输入 一个整数:\n"); /*输出双引号内普通字符*/
Scanner scanner = new Scanner(System.in);/*键盘录入*/
n=scanner.nextInt();/*输入n的值*/
for (m = 0; m < 15; m++) /*for循环从0到14,最高为符号位,本题始终为0*/ {
i = n % 2; /*取2的余数*/
j = n / 2; /*取被2整除的结果*/
n = j; /*将余数每次的余数存入数组a中*/
a[m] = i;
}
for (m = 15; m >= 0; m--) {
System.out.print(a[m]); /*for循环,将数组中的16个元素从后往前输出*/
if (m % 4 == 0)
System.out.print(" "); /*每输出4个元素,输出一个空格*/
}
}
}