1、以十进制转二进制为例。下载安装一个visual C++ 6.0软件,新建一个C++ Source File文件
2、输入预处理命令和主函数(由于空格数容易输错,建议直接复制粘贴代码输入):
#include<stdio.h> /*输入输出头文件*/
void main() /*空类型:主函数*/
3、定义变量和数组的数据类型并输入一个十进制:
int b[16],x,k,r,i /*定义变量和数组的数据类型为整型*/
printf("输入一个十进制:") /*输出文字提示*/
scanf("%d",&x) /*输入一个十进制数字*/
k=-1 /*将-1赋给k*/
4、用除R取余倒计法将十进制的数转化成二进制的数:
do /*用循环将十进制的数转化成二进制的数*/
{
r=x%2 /*用除R取余倒计法计算二进制*/
b[++k]=r /*将值赋给数组*/
x/=2 /*将原数除2*/
}while(x>=1)
5、输出结果:
for(i=ki>=0i--) /*将上面倒计的数正回来*/
printf("%d ",b[i]) /*输出结果*/
printf("\n")
6、最后二进制转换成功,完整的源代码如下:
#include<stdio.h> /*输入输出头文件*/
void main() /*空类型:主函数*/
{
int b[16],x,k,r,i /*定义变量和数组的数据类型为整型*/
printf("输入一个十进制:") /*输出文字提示*/
scanf("%d",&x) /*输入一个十进制数字*/
k=-1 /*将-1赋给k*/
do /*用循环将十进制的数转化成二进制的数*/
{
1、打开易语言新建一个windows程序进入下图界面。
2、我们输入二进制 ()这个命令。
3、我们展开这个命令发现这个命令只有一个参数。
4、我们输入这个参数:“10”。
5、我们输入:调试输出(二进制 (“10”))。
6、运行结果: 2就是把二进制转换成10进制。
首先要明白你所说的四位数是指二进制的四位数二进制和十六进制的互相转换比较重要。不过这二者的转换却不用计算,每个C,C++程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然。
首先我们来看一个二进制数:1111,它是多少呢?
你可能还要这样计算:1 * 20 + 1 * 21 + 1 * 22 + 1 * 23 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。
然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。即,最高位的权值为23 = 8,然后依次是 22 = 4,21=2, 20 = 1。
记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。
下面列出四位二进制数 xxxx 所有可能的值(中间略过部分)
仅4位的2进制数 快速计算方法 十进制值 十六进值
1111 = 8 + 4 + 2 + 1 = 15 F
1110 = 8 + 4 + 2 + 0 = 14 E
1101 = 8 + 4 + 0 + 1 = 13 D
1100 = 8 + 4 + 0 + 0 = 12 C
1011 = 8 + 4 + 0 + 1 = 11 B
1010 = 8 + 0 + 2 + 0 = 10 A
1001 = 8 + 0 + 0 + 1 = 9 9
1000 = 8 + 0 + 0 + 0 = 8 8
0111 = 0 + 4 + 2 + 1 = 7 7
0110 = 0 + 4 + 2 + 0 = 6 60101 = 0 + 4 + 0 + 1 = 5 50100 = 0 + 4 + 0 + 0 = 4 40011 = 0 + 0 + 2 + 1 = 3 30010 = 0 + 0 + 2 + 0 = 2 2
0001 = 0 + 0 + 0 + 1 = 1 1
0000 = 0 + 0 + 0 + 0 = 0 0
二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。
如(上行为二制数,下面为对应的十六进制):
1111 1101 , 1010 0101 , 1001 1011
F D , A 5 , 9 B
反过来,当我们看到 FD时,如何迅速将它转换为二进制数呢?
先转换F:
看到F,我们需知道它是15(可能你还不熟悉A~F这五个数),然后15如何用8421凑呢?应该是8 + 4 + 2 + 1,所以四位全为1 :1111。
接着转换 D:
看到D,知道它是13,13如何用8421凑呢?应该是:8 + 2 + 1,即:1011。
所以,FD转换为二进制数,为: 1111 1011 问题中的二进制数(0000 1000 ),(1100 0011)分别转换为十六进制数为:8,c3