吾日三省吾身,高否?富否?帅否?
程序员如何判断一个男生是否为高富帅呢?
方法一:用高富帅这个属性,0为否,1为是。然而这样子只能知道一个大体,缺少了详情,比如是否高,是否富,是否帅。
方法二:我们将高富帅分为3个属性:高,富,帅,每个属性值用0或1来表示,取它们的组合,二进制转换成十进制,就有0~7的数据范围。详情如下表1:
那么,我们怎么从结果得知,这个男生的详情,比如一男生得分为5,是哪个级别的高富帅呢?
方法一:查表(哈哈,一表胜千言);
方法二:移位+按位与1的运算,具体如下:
设定得分为变量level,那么高富帅详情可以按下表2来运算
根据运算结果,我们知道,这个5分的男生其实就是“高不富帅”。
那么,最完美无缺的高富帅是怎么样的呢?当然是表1的最后一种情况——7分完美型,请看下表3:
这样一来,我们就可以用一个变量,大小为0~7,简单高效地描述高富帅的情况。