条条大路通罗马——由C语言中十进制转换为二进制想到的

来源:互联网 发布:大数据靠什么盈利 编辑:程序博客网 时间:2024/05/22 17:22

老师布置一道题,将十进制转化为二进制。

拿到题,习惯性将以前“笔算二进制法”用C语言表示。(定义啊神马的暂时省略,只贴出关键代码)



然后执行  顺利通过


费劲九牛二虎之力算是解决。但问题也很明显:可这段程序可读性较差。相对于一段程序,作者有自己的思路,可如果代码写成这样,读者很难跟上作者的思维。甚至年长日久,日后你自己读起来,也可能很难跟上自己当年的思路。也就是,你或许可以写得很爽,但日后程序维护者读起来很难,增加了维护的难度。如何改进呢?

不妨试试如下方法,将原代码中求原码数值优化如下:



此段程序可读性便强了很多,易于理解和调试。

可这是终点了么?

我们知道,在计算机中,数据本来就是以二进制数保存的。所以,我们可以偷个懒,让计算机把原码表示出来即可。


如此便可。


显然,上述3种方法中,第三种最为简单易读,执行也最快。

由上可见,对于同一问题,用C语言可有多种解决方法。虽说条条大路通罗马,但为什么不选一条最近最好走的路呢?好的思路可以让你省略许多事,也便于日后的维护。碰到碰到以C语言解决的问题时,不妨多花一些时间在构思上,以达到“磨刀不误砍柴工”的效果。

原创粉丝点击