实例说明:
进制转换方法有很多种,今天介绍一种十进制转二进制的算法。
技术要点:
将十进制数转换为二进制数的具体过程有以下几个要点。(1)要用数组来存储每次对2取余的结果,所以在数据类型定义的时候要定义数组,并将其全部数据元素赋初值为0。
(2)两处用到for循环,第一次for循环为0~14(本例中只考虑基本整型中的整数部分的转换,所以最高位始终为0),第二次for循环为15~0,这里大家要注意不能改成0~15,因为在将每次对2取余的结果存入数组时是从a[0]开始存储的,所以输出的时候就要从a[15]开始输出,这也符合我们平时计算的要求。
(3)%、/的应用,%模运算符,或称求余运算符,%两侧均应为整型数据。/除法运算符,两个整数相除的结果为整数,运算的两个数中有一个数为实数,则结果是double型的。
实现过程:
(1)在TC中创建一个C文件。(2)引用头文件。代码如下:
#include <stdio.h> 。
(3)数据类型声明,数组元素赋初值均为0。
(4)使用输入函数获得要进行转换的十进制数。
(5)两个for循环语句实现十进制转换二进制的过程,并.
(6)第二个for循环中if条件语句作用使输出结果更直观
代码实现:
#include<stdio.h>
int main()
{
int i,j,n,m;
int a[16]={0};
printf("please input the decimalism number(0~32767):\n");
scanf("%d",&n);
for(m=0;m<15;m++)
{
i=n%2;
j=n/2;
n=j;
a[m]=i;
}
for(m=15;m>=0;m--)
{
printf("%d",a[m]);
if(m%4==0)
printf(" ");
}
return 0;
}
运行测试:运行正确