C语言编程第一例——将十进制转换为二进制

一、关键技术:

将十进制转换为二进制的具体过程有以下的几个要点:

(1.)要用数组来存储每次对2取余的结果,所以在对数据类型的定义时,要定义数组并将其余全部数据元素初值赋值为0。

(2.)两处用到for循环,第一次for循环为0~14(本实例当中只考虑基本整型中的正整数部分的转换,所以最高位始终为0),第二次for循环为15~0,这里大家注意不能改成0~15,因为在将每次对2取余的结果存入数组时是从a[0]开始存储的,所以输出时要从a[15]开始输出,这也符合我们平时的计算过程。

(3.)“%”是取余运算符号,“%”两侧均应该是整型数据,“/”是除法运算符号,两个整数相除的结果就是整数,运算的两个数中有一个数为实数,则结果是double型的。

具体的代码运行如下:

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main()
{
	int i, j, m,n;   //定义变量i,j,n,m
	int a[16] =
	{
		0
	};            /*定义数组a,并将数组a初始化为0*/
	system("cls");/*清屏函数*/
	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(" ");           /*每四个元素,输出一个空格*/
	}

	return 0;
}

代码的运行结果如下:

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值