溪边树

象一棵树,栽在溪水旁。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

作业1 -- 位运算

Posted on 2010-01-16 12:02  溪边树  阅读(187)  评论(0编辑  收藏  举报
目的:学习位运算的特征,学会使用位运算代替除法和求余运算的方法。
内容:使用位运算,不能使用除法(/)和求余(%)运算,求某个十进制整数的二进制表示中有多少个1. 分析该程序的时间复杂度,即:当整数为n时,程序共执行了多少个位运算。
进阶:如何计算出某个十进制整数的八进制表示中有多少个6?能否编写一个函数,以十进制整数和八进制的数字(0~7)作为两个参数,求出该八进制数字在十进制整数的八进制表示中出现的次数。提示:需要用到“移位”、“按位异或”以及“按位与”等运算。 该函数的雏形如下:
代码
/******************************************
 *  概要:
 *     求某个十进制数的八进制表示中,
 *     某个八进制数字出现的次数
 *
 *  参数:
 *     int octalDigit: 八进制的某个数字
 *     int decimalNumber: 十进制整数
 *
 *  返回值:
 *     octalDigit在decimalNumber的八进制
 *     表示中出现的次数
 *****************************************
*/
int numberOfOctalDigit(int octalDigit, int decimalNumber)