c语言课程设计报告

发布 2022-10-03 03:15:28 阅读 6860

黑龙江东方学院。

c语言课程设计。

课题名称:实现进制转换算法。

专业: 电子信息工程。

班级: 08级1班。

姓名: 张志惠。

学号: 084121131

导师: 闵昆龙老师。

吴和静老师。

刘兴鹏老师。

刘芳老师。2024年6月30日。

1.2.3二进制数与十六进制数之间的转换。

进制转换是一件很繁琐的事情如果要人来做的,因此本人再用了汇编语言,进行对输入数字进行转换,可以大大减小人工费事,提高效率,同时采用汇编语言的优点,从基层对数字进行转换。这个课程设计的要求就是通过一个较大型的使用程序设计与实现,综合运用所学知识,加深理解和掌握。同时培养学生分析问题和解决问题的能力,以及自学能力。

进制是人们利用符号进行计数的科学方法。进制有很多种,在计算机中常用的数制有:十进制,二进制和十六进制。

进制也称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。计算机是信息处理的工具,任何信息必须转换成二进制形式数据后才能由计算机进行处理,存储和传输。

人们通常使用的是十进制。它的特点有两个:有0,1,2….

9十个基本数字组成,十进制数运算是按“逢十进一”的规则进行的。 在计算机中,除了十进制数外,经常使用的数制还有二进制数和十六进制数。在运算中它们分别遵循的是逢二进一和逢十六进一的法则。

二进制数有两个特点:它由两个基本数字0,1组成,二进制数运算规律是逢二进一。为区别于其它进制数,二进制数的书写通常在数的右下方注上基数2,或加后面加b表示。

例如:二进制数***可以写成(10110011)2,或写成10110011b,对于十进制数可以不加注。计算机中的数据均采用二进制数表示,这是因为二进制数具有以下特点:

1) 二进制数中只有两个字符0和1,表示具有两个不同稳定状态的元器件。例如,电路中有,无电流,有电流用1表示,无电流用0表示。类似的还比如电路中电压的高、低,晶体管的导通和截止等。

2) 二进制数运算简单,大大简化了计算中运算部件的结构。

二进制数的加法和乘法运算如下:

由于二进制数据的基r较小,所以二进制数据的书写和阅读不方便,为此,在小型机中引入了八进制。八进制的基r=8=2^3,有数码,并且每个数码正好对应三位二进制数,所以八进制能很好地反映二进制。八进制用下标8或数据后面加q表示 。

例如:二进制数据 ( 1110 1010 0101 10100 )对应八进制数据 ( 3 5 2 . 2 6 4 )或352.264q.

由于二进制数在使用中位数太长,不容易记忆,所以又提出了十六进制数十六进制数有两个基本特点:它由十六个字符0~9以及a,b,c,d,e,f组成(它们分别表示十进制数10~15),十六进制数运算规律是逢十六进一,即基r=16=2^4,通常在表示时用尾部标志h或下标16以示区别。

例如:十六进制数4ac8可写成(4ac8),或写成4ac8h。

对于形式化的进制表示,我们可以从0开始,对数字的各个数位进行编号,即个位起往左依次为编号0,1,2,……对称的,从小数点后的数位则是-1,-2,……进行进制转换时,我们不妨设源进制**换前所用进制)的基为r1,目标进制**换后所用进制)的基为r2,原数值的表示按数位为ana(n-1)……在r2中的表示为r,则有(ana(n-1)……由于此处不可选择字体,说明如下:an,a2,a-1等符号中,n,2,-1等均应改为下标,而上标的幂次均用^作为前缀)

举例:一个十进制数110,其中百位上的1表示1个10^2,既100,十位的1表示1个10^1,即10,个位的0表示0个100,即0。

举例:一个二进制数110,其中高位的1表示1个2^2,即4,低位的1表示1个2^1,即2,最低位的0表示0个2^0,即0.

举例:一个十六进制数110,其中高位的1表示1个16^2,即256,低位的1表示1个16^1,即16,最低位的0表示0个16^0,即0.

可见,在数制中,各位数字所表示值的大小不仅与该数字本身的大小有关,还与该数字所在的位置有关,我们称这关系为数的位权。十进制数的位权是以10为底的幂,二进制数的位权是以2为底的幂,十六进制数的位权是以16为底的幂。数位由高向低,以降幂的方式排列。

通过设计该软件可以使我们进一步了解进制之间互相转换的算法。

二进制数、十六进制数转换为十进制数(按位权求和)二进制数、十六进制数转换为十进制数的规律是相同的。把二进制数(或十六进制数)按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数——简称“按权求和”。

例如:把二进制数(1001.01)转换为十进制数。

解:二进制数(1001.01) =1*8+4*0+2*0+1*1+0*()1*()

例如:把十六进制数(38a.11)转换为十进制数。

解:十六进制数(38a.11) =3×+8×+10×+1×+1×

十进制数转换为二进制数,十六进制数(除2/16取余法)整数转换。一个十进制整数转换为二进制整数通常采用除二取余法,即用2连续除十进制数,直到商为0,逆序排列余数即可得到――简称除二取余法.

例如:将十进制数(25)转换为二进制数 。

解:25÷2=12 余数1

12÷2=6 余数0

6÷2=3 余数0

3÷2=1 余数1

1÷2=0 余数1

所以十进制数25转换为二进制数的值为(11001).

同理,把十进制数转换为十六进制数时,将基数2转换成16就可以了。

例如:将十进制数(25)转换为十六进制数 。

解:25÷16=1 余数9

1÷16=0 余数1

所以十进制数25转换为十六进制数为(19).

1.2.3 二进制数与十六进制数之间的转换

二进制数与十六进制数之间的转换,由于4位二进制数恰好有16个组合状态,即1位十六进制数与4位二进制数是一一对应的。所以,十六进制数与二进制数的转换是十分简单的。

1. 十六进制数转换成二进制数,只要将每一位十六进制数用对应的4位二进制数替代即可――简称位分四位。

例如:将十六进制数(4af8b)转换为二进制数。。

解:4 a f 8 b

所以十六进制数(4af8b)转换为二进制数为(1001010111110001011).

2. 二进制数转换为十六进制数,分别向左,向右每四位一组,依次写出每组4位二进制数所对应的十六进制数――简称四位合一位。

例如:将二进制数(000111010110)转换为十六进制数。。

解: 0001 1101 0110

1 d 6

所以二进制数(111010110)转换为十六进制数为(1d6).

注意:转换时注意最后一组不足4位时必须加0补齐4位。

1. r进制转换成十进制。

任意r进制数据按权展开、相加即可得十进制数据。

例如:n = 1101.0101b

c语言课程设计报告 课程设计报告

周口师范学院。课程设计报告。院 系 计算机科学与技术学院 班级。学生姓名学号。设计题目 职工工资管理系统。完成日期 年月日 课程设计任务书。设计题目 工资管理系统 教研室主任指导教师 年月日。摘要11设计内容 任务及具体要求2 1.1设计内容2 1.2设计任务及具体要求2 2概要设计3 2.1该系统...

C语言课程设计报告

华中科技大学计算机科学与技术学院。题目 专业 班级 学号 姓名 成绩 指导教师 完成日期 2016年月日。目录。一 系统需求分析 1 二 总体设计 2 三 数据结构设计 3 四 详细设计 4 五 系统实现 5 六 运行测试与结果分析 6 七 总结 7 八 参考文献 8 九 指导教师评语 9 对所要解...

C语言课程设计报告

c语言。课程设计。商业销售管理系统。学号 121407210 姓名 宋军。班级 软件1202 指导老师 邹姝稚。成绩 2013年6月。一 任务描述。编写一个商品销售管理系统,是其能够拥有商品买卖和库存管理功能。在顾客选购时,需给出输入商品名称,或商品型号,或选择列表进而输入商品编号三种选择,在顾客选...