您的位置:首页 > 其它

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

2015-07-02 15:04 288 查看
接口说明

原型:
unsigned int GetBitsValue(unsigned int input, unsigned int startbit, unsigned int bitlen)
输入参数:

input 输入的整数

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进制思路,先将数存入数组,然后读出指定位数.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: