通信与信息工程学院软件实验报告
}
system(\
1) printf(\其二进制表示为:\························显示提示 2) printf(\其八进制表示为:\························显示提示 3) printf(\其十六进制表示为:\······················显示提示 for(j=i-1;j>=0;j--) printf(\ printf(\}
(3) 已选进制数转换成十进制数据:
{
inti,len,y=0; len=strlen(a); for(i=0;i 1) y+=(int(pow(2,int(len-1-i)))*(int((a[i])-48))); ·······························二进制数转换成十进制数据 2) y+=(int(pow(8,int(len-1-i)))*(int ((a[i])-48))); ·······························八进制数转换成十进制数据 3) if(a[i]>='A'&&a[i]<='F') y+=(int(pow(16,int(len-1-i)))*(int ((a[i])-55))); else if(a[i]>='a'&&a[i]<='f') y+=(int(pow(16,int(len-1-i)))*(int ((a[i])-87))); else y+=(int(pow(16,int(len-1-i)))*(int ((a[i])-48))); ·····························十六进制数转换成十进制数据 return y; } 3) ni=y;······················十进制数转换成十六进数 s[i]=ni; num=y/2; y=num; 3、测试数据、测试结果、结果分析。 (1)欢迎语及一级菜单界面: 16 通信与信息工程学院软件实验报告 (2) 二级菜单界面: (3)十进制数转换成其它进制数据: 当用键盘想程序中键入十进制数“1000”时,其经程序转换后的结果应为:二进制为“1111101000”;八进制为“1750”;十六进制为“3E8”。其C程序运行结果如下: 17 通信与信息工程学院软件实验报告 (4) 其它进制数转换成十进制数据: 1)当输入二进制数据“11110000000001111”时,十进制数结果应为“61455”,其C程序运行结果如下: 18 通信与信息工程学院软件实验报告 2)当输入八进制数据“76543210”时,十进制数结果应为“16434824”,其C程序运行结果如下: 3)当输入十六进制数据“1234abcd”时,十进制数结果应为“305441741”。其C程序运行结果如下: (5) 非十进制数据之间的相互转换: 1)当输入二进制数据“010101010101”时,转换成八进制数据,其结果应“525”,其C程序运行结果如下: 19 通信与信息工程学院软件实验报告 2)当输入八进制数据“76543210”时,转换成十六进制数据,其结果应为“FAC688”,其C程序运行结果如下: 3 )当输入十六进制数据“1234DCBA”时,转换成二进制数据,其结果应为“10010001101001101110010111010”: (6) 实验结果分析。 本次实验程序基本完成了实验要求,并且还增加了非十进制与非十进之间的转换,进一步了解了数据在计算机内部的存储方式以及计算机计算数据的方式。在数据相互转换的过程中都是以计算机内部的二进制数据作为基础,然后再配以一定的算法,从而实现了各种进制间的转换。 20