取给定正整数的指定bit位开始的指定长度的数据
来源:互联网 发布:金科信软件 编辑:程序博客网 时间:2024/06/06 09:55
接口说明
原型:
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 "OJ.h"#include <math.h>/*Description 取给定正整数的指定bit位开始的指定长度的数据。bit位从右向左从0开始计算。Prototype unsigned int GetBitsValue(unsigned int input, unsigned int startbit, unsigned int bitlen)Input Param input 输入的整数 startbit 需要获取的开始bit bitlen 需要获取的bit长度Output Param 无Return Value 对应的bit取值*/unsigned int GetBitsValue(unsigned int input, unsigned int startbit, unsigned int bitlen){/*在这里实现功能*/unsigned int value = 0,bit = startbit;while(bitlen--){value = value<<1;double tem = pow(2.0,static_cast<int>(bit));if((input&static_cast<unsigned int>(tem)) != 0){value = value+1;}--bit;} return value;}<span style="color:#0000ff;"></span>
0 0
- 取给定正整数的指定bit位开始的指定长度的数据
- 取给定正整数的指定bit位开始的指定长度的数据
- 取给定正整数的指定bit位开始的指定长度的数据
- 取给定正整数的指定bit位开始的指定长度的数据
- 取给定正整数的指定bit位开始的指定长度的数据
- [华为机试练习题]41.取给定正整数的指定bit位开始的指定长度的数据
- 取给定正整数的指定bit位开始的指定长度的数据 将整数拆分成bit位表示的形式
- 从字符串的指定位置开始,删除指定长度字符
- C++ 从指定位置开始,删除指定长度的字符串
- 获取字符串中指定位置开始的指定长度的字符串,支持汉字英文混合 汉字为2字节计数
- 8bit数据的指定位的置0或者置1操作
- 取指定字符串的指定长度
- 实现对一个8bit数据指定位(例如第n位)的置0或置1操作
- 截取指定长度的字符串,超过指定长度的加...
- 截断指定长度的字符串
- 指定长度的随机字符串
- 显示字符串的指定长度
- 指定长度的strstr函数
- HttpSession与Hibernate中Session的区别
- EM 算法
- Android Volley学习
- 【控件篇】ListView 模板
- KD树
- 取给定正整数的指定bit位开始的指定长度的数据
- C++~数组/指针
- win32消息
- 6.1 理解事务
- 小马哥----高仿htc_m8tl手机刷机 芯片为6582 外观与行货一致,操作与检测基本无差别
- POJ 3070 Fibonacci.(矩阵快速幂)
- fcntl函数
- 自己写的一个C#日志管理类
- 哈哈