取给定正整数的指定bit位开始的指定长度的数据

接口说明

原型:

unsignedintGetBitsValue(unsignedintinput,unsignedintstartbit,unsignedintbitlen)

输入参数:

startbit需要获取的开始bit

bitlen需要获取的bit长度

输出参数(指针指向的内存区域保证有效):

返回值:

对应的bit取值

举例:

输入:4,2,2

返回:2

4对应的二进制为100(bit0和bit1为0,bit2为1),那么从bit2开始的2位为10,那么对应的十进制为2。

#include <stdlib.h>#include <string.h>#include "oj.h"/*功能:输入:pIntArray:数组,nCout:数组长度输出:返回:返回最大值*/int GetSubArraySum(int* pIntArray, int nCount){/*在这里实现功能*/int ThisSum,MaxSum,j; ThisSum = MaxSum =0; for(j = 0;j < nCount;j++) {ThisSum += pIntArray[j];if(ThisSum > MaxSum)MaxSum = ThisSum;else if(ThisSum < 0)ThisSum = 0;} return MaxSum; }</span>

算法思路:

利用整数转换为2进制思路,,先将数存入数组,然后读出指定位数.

版权声明:本文为博主原创文章,未经博主允许不得转载。

用爱生活,你会使自己幸福!用爱工作,你会使很多人幸福!

取给定正整数的指定bit位开始的指定长度的数据

相关文章:

你感兴趣的文章:

标签云: