zoukankan      html  css  js  c++  java
  • 取给定正整数的指定bit位開始的指定长度的数据

    • 接口说明

    原型:

    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进制思路,先将数存入数组。然后读出指定位数.


  • 相关阅读:
    Docker构建Centos7容器
    Docker命令大全
    win10常用开发配置
    git小结
    JSP页面The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path错误处理
    CentOS 设置mysql的远程访问
    CentOS安装MySQL
    Kali对wifi的破解记录
    MyEclipse对Maven的安装
    关于sqlmap的使用
  • 原文地址:https://www.cnblogs.com/mthoutai/p/7263687.html
Copyright © 2011-2022 走看看