取给定正整数的指定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。
算法思路:
利用整数转换为2进制思路,先将数存入数组,然后读出指定位数.
原型:
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进制思路,先将数存入数组,然后读出指定位数.
相关文章推荐
- 调试说明
- depmod: ERROR: could not open directory /lib/modules/ 解决方法
- Android动画之Interpolator和AnimationSet
- mac的sed不支持\t
- 【SuperMap .Net 组件】三维自定义专题图
- RBAC权限模型——项目实战
- Google输了官司,物联网恐怕也不能用Java了吧
- iBeacon初探
- 安卓 Theme.NoTitleBar 添加之后崩溃的问题
- 实现抖动效果
- CODE[VS] 1220 数字三角形
- 下拉框和单选按钮到赋值
- 2015年第二季度总结
- CODE[VS] 1220 数字三角形
- php -- 文件操作(创建、复制、移动、删除)
- C++ 操作法重载
- BZOJ1107 : [POI2007]驾驶考试egz
- 精髓的git stash
- linux中date显示时间和日期与hwclock时间同步
- 有关cascade的结构体