- 1
- 0
- 约2.63千字
- 约 4页
- 2022-06-22 发布于上海
- 举报
数字逻辑电路设计及应用
C程序设计报告(1)
[问题]:
设计一个 C 程序实现任意十进制数到二进制数的转换,二进制精度为 11 位。
[思路]:
1. 十进制数转二进制数对整数和小数的处理时不一样的。所以设计程序时,也应该对读入
的整数和小数的数据分开处理。(分开的办法可以先直接对浮点数强制类型转换,即可
得到整数部分,再用浮点数减整数部分,即可得到小数部分)。
2. 对于整数部分,采用的是“除2 法”(不知道是不是这个名字……)。即,每次将该数除
以 2,得到的余数作为该位的二进制数,商作为下一次的除数,依此类推,直到商为1
或 0 为止。
3. 对于小数部分,采用的是“乘2 法”(依然不知道是不是这个名字)。即,每次将小数部
分乘 2,得到的整数部分即为该位的二进制数,小数部分为下一次的乘数。依此类推,
这样做下去是一个无限不循环的小数,所以一般会要求二进制数中小数的精度,本题目
要求的是 11 位。
4. 在实际程序设计过程中,我发现了这样一个问题,当小数部分二进制码采用浮点型数据
时,单独输出准确无误,但与整形的整数部分二进制码结合在一起后,最后 3 位总是不
准确的,怀
原创力文档

文档评论(0)