2015年5月9日13:25:59
一回寝室,室友就考我他遇到的一道面试题,题目是这样的:将一个数用二进制打印输出并且输出二进制中“1”的个数;
想必只要学过编程的同学都能很快想出自己的方案。我室友他说了一个很复杂的思路。我想面试官不会给你那么长的时间来写这个代码。而我个人比较偷懒,正符合了面试官这一点,只用了一个while循环,轻松搞定。为了突出思路,二进制输出没做过多处理,是从右到左。比如bin(10) = 1010 ;而我的输出是 0101 ,又比如 bin(100)=
1100100
,而我的输出从右到左 0010011
。这一点可以使用数组,也可以使用字符串来稍加处理。为了代码简单思路清晰,我没有做这方面处理了。我提供的是自己的思路,希望对初学编程语言的朋友有所帮助。
// D2B.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
}
好吧,由于强迫症,我还是把处理过后的也写了,贴出来。也就是从左至右符合人类认识事物的特性了。不过还是为了简洁,我使用的一些内置类和函数。
// D2B.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "string"
int _tmain(int argc, _TCHAR* argv[])
{
}