题:求最大连续bit数

题目描述:

功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1。

示例:输入 3     输出 2

思路:

根据位运算,获取每一位的二进制值。获取第i位的值: (n >> i) & 1。如果1连续,则计数累加,如果不连 续,则从0开始计数。

代码示例

  int MaxBit(){  
    int n;    
    while (cin >> n) { 
        int count = 0, maxCount = 0;  // n右移32次就变为0        
        while (n)  {   
            //获取当前位的二进制值            
            if (n & 1) {    
                //如果1的值连续,计数累加,并且跟新最大计数                
                ++count;       
                maxCount = max(count, maxCount); 
            }            
            else {                  
              //如果1的值不连续,重新累加       
              count = 0;             
            }              
        //右移一次,为获取下一位二进制值做准备       
        n = n >> 1;   
        }       
    cout << maxCount << endl;   
     }   
 return 0;
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一篇 面试 ................................................................................ 8 1.1. 简介 ............................................................................................................... 8 1.2. 面试集合(一) .......................................................................................... 8 1.2.1. 把二元查找树转变成排序的双向链表.................................................... 8 1.2.2. 下排每个数都是先前上排那十个数在下排出现的次数 ..........................11 1.2.3. 设计包含 min 函数的栈 ...................................................................... 14 1.2.4. 子数组的最大和.............................................................................. 20 1.2.5. 在二元树中找出和为某一值的所有路径 .............................................. 22 1.2.6. Top K 算法详细解析---百度面试 ......................................................... 29 1.2.7. 翻转句子中单词的顺序....................................................................... 31 1.2.8. 判断整数序列是不是二元查找树的后序遍历结果 ................................ 33 1.2.9. 查找最小的 K 个元素-使用最大堆....................................................... 35 1.2.10. 二叉树中节点的最大距离................................................................ 37 1.3. 面试集合(二) ........................................................................................ 40 1.3.1. 1+2+…+n....................................................................................... 40 1.3.2. 输入一个单向链表,输出该链表中倒数第 k 个结点............................. 44 1.3.3. 输入一个已经按升序排序过的数组和一个数字.................................... 46 1.3.4. 输入一颗二元查找树,将该树转换为它的镜像.................................... 48 1.3.5. 输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往 右的顺序打印................................................................................................... 49 1.3.6. 在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b 52 1.3.7. n 个数字(0,1,…,n-1)形成一个圆圈 .................................................. 53 1.3.8. 定义 Fibonacci 数列 ............................................................................ 58 1.3.9. 左移递减数列查找某一个数.........................................
(一) 一、填空: 1、微机的核心部件是 ,反映它性能的重要的指标是 和 。 2、内存分为 和 ,前者固化了基本的输入输出设备驱动程序和微机启动程序、自检程序,被称为BIOS 系统程序,其特点是 ;后者常称"内存条",其特点是 . 3、计算机存储单位中1Byte= bit。 4、总线分三类:用来发送CPU命令信号到存储器或I/O的是 总线;由CPU向存储器传送地址的是 总线;CPU、存储器和I/O之间的数据传送通道是 总线。 5、显示器有三大类: 、 、 。 6、要安装或删除一个应用程序,必须打开 窗口,然后使用其中的添加删除程序功能. 7、在Windows中,系统提供了常用的5种汉字输入法,它们分别是 、 、 、 和郑码输入法。 8、文件具有4种属性设置,即 、 、 、 9、一个工作薄最多有_______个工作表。每个工作表最多有_____行_____列。 10、工作薄的默认扩展名是____________。 11、工作薄窗口最大化时,工作薄名显示在________________,工作薄窗口的控制按钮 显示在_____________。 12、二行三列单元格的地址是_________. 13、单元格F6位于_____—行_______列。 14、单元格区域B3:E5 表示____________________的所有单元格。 15、选择_____工具栏上的_____按钮,可以设置数据的对齐格式为"合并及居中"。 16、、计算机网络主要有 个功能。 17、TCP的汉语意思是 ;IP的汉语意思是 。 18、计算机网络中的共享资源指的是硬件、软件和 资源。 19、计算机通讯采用的交换技术主要有 交换和电路交换两种,前者比后者实时性差,线路利用率高。 20、计算机网络中,通信双方必须共同遵守的规则或约定,称为 。 二、选择 1、使用计算机时,正确的开机顺序是( ) A、先开主机,再开显示器、打印机 B、先开显示器、打印机,再开主机 C、先开显示器,再开主机,然后再开打印机 D、先开打印机,再开主机,然后开显示器 2、在计算机中,用( )个二进制位组成一个字节。 A、2 B、4 C、6 D、8 3、目前市场上流行的奔腾微型机中的"奔腾"指的是( ) A、硬盘容量 B、主频 C、微处理器型号 D、内存容量 4、显示器目前使用最多的( ) A、存储设备 B、输入设备 C、输出设备 D、主(内)存储器 5、在下列存储器中,访问周期最短的是( ) A、硬盘存储器 B、外存储器 C、内存储器 D、输出设备 6、利用键盘操作,快速打开"资源管理器"中的"文件"菜单的按键为( ) A、Ctrl+C B、Alt+F C、F1 D、Esc 7、下列不属于Windows操作系统的新功能的是( ) A、Microsoft Internet Exploer 3.0 B、Microsoft Internet Mail and News C、媒体播放器 D、个人Web服务器 8、Windows操作系统的桌面是指( ) A、整个屏幕 B、全部窗口 C、某个窗口 D、活动窗口 9、Windows中任务栏上的内容是( ) A、当前窗口的图标 B、已启动并正在执行的程序名 C、所有已打开的窗口的图标 D、已经打开的文件名 10、Windows操作系统的"开始"菜单中包括了Windows系统的( ) A、主要功能 B、全部功能 C、部分功能 D、初始化功能 11、选择不相近的多个单元格区域,正确的操作方法是 ( )。 A 、直接使用鼠标选择各个单元格区域 B、先按住Ctrl键不妨,再选择各个单元格区域 C、 先选择一个单元格区域,按住Ctrl键不放,在选择其他单元格区域 D 、先选择一个单元格区域,按住Ait键不放,在选择其他单元格区域 12、在默认状态下,不能使用填充序列的方法输入的数据是( )。 A、 1月、2月、3月···、12月 B、一月、二月、三月、···、十二月、 C 、1季度、2季度、3季度、4季度、 D、 一季度、二季度、三季度、四季度、 13、要在不连续的单元格输入相同的数据,操作时需要按( )键 。 A 、Ctrl+Enter B 、Shift+Enter C 、Alt+Enter D、 Enter 14、以下操作方法中,不能打开工作薄的是( )。 A 、选择"常用"工具栏的"打开"按钮 B 、选择"文件 打开"菜单命令 C、 选择"窗口"菜单底部的工作薄名 D 、选择"文件"菜单底部的工作薄名 15、插入式移动单元格时,应该使用的操作是( ). A 、单击"常用"工具栏上的"粘贴"按钮 B 、选择"编辑 粘贴"菜单命令 C 、选择"编辑 选择性粘贴"菜单命令 D、 选择"插入 剪切单元格"菜单命令 16、启动Excel最快的方法是( )。 A
第一章 概述 1-01 计算机网络向用户可以提供那些服务? 答: 连通性和共享 1-02 简述分组交换的要点。 答:(1)报文分组,加首部 (2)经路由器储存转发 (3)在目的地合并 1-03 试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。 答:(1)电路交换:端对端通信质量因约定了通信资源获得可靠保障,对连续传 送大量数据效率高。 (2)报文交换:无须预约传输带宽,动态逐段利用传输带宽对突发式数据通信效率高 ,通信迅速。 (3)分组交换:具有报文交换之高效、迅速的要点,且各分组小,路由灵活,网络生 存性能好。 1-04 为什么说因特网是自印刷术以来人类通信方面最大的变革? 答: 融合其他通信网络,在信息化过程中起核心作用,提供最好的连通性和信息共享 ,第一次提供了各种媒体形式的实时交互能力。 1-05 因特网的发展大致分为哪几个阶段?请指出这几个阶段的主要特点。 答:从单个网络APPANET向互联网发展;TCP/IP协议的初步成型   建成三级结构的Internet;分为主干网、地区网和校园网;   形成多层次ISP结构的Internet;ISP首次出现。 1-06 简述因特网标准制定的几个阶段? 答:(1)因特网草案(Internet Draft) ——在这个阶段还不是 RFC 文档。   (2)建议标准(Proposed Standard) ——从这个阶段开始就成为 RFC 文档。 (3)草案标准(Draft Standard) (4) 因特网标准(Internet Standard) 1-07小写和大写开头的英文名字 internet 和Internet在意思上有何重要区别? 答:(1) internet(互联网或互连网):通用名词,它泛指由多个计算机网络 互连而成的网络。;协议无特指    (2)Internet(因特网):专用名词,特指采用 TCP/IP 协议的互联网络 区别:后者实际上是前者的双向应用 1-08 计算机网络都有哪些类别?各种类别的网络都有哪些特点? 答:按范围:(1)广域网WAN:远程、高速、是Internet的核心网。 (2)城域网:城市范围,链接多个局域网。 (3)局域网:校园、企业、机关、社区。 (4)个域网PAN:个人电子设备 按用户:公用网:面向公共营运。专用网:面向特定机构。 1-09 计算机网络中的主干网和本地接入网的主要区别是什么? 答:主干网:提供远程覆盖\高速传输\和路由器最优化通信 本地接入网:主要支持用户的访问本地,实现散户接入,速率低。 1-10 试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit)。从源点到 终点共经过k段链路,每段链路的传播时延为d(s),数据率为b(b/s)。在电路交换时 电路的建立时间为s(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可 忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草 图观察k段链路共有几个结点。) 答:线路交换时延:kd+x/b+s, 分组交换时延:kd+(x/p)*(p/b)+ (k-1)*(p/b) 其中(k-1)*(p/b)表示K段传输中,有(k-1)次的储存转发延迟,当s>(k-1)*(p/b)时,电 路交换的时延比分组交换的时延大,当x>>p,相反。 1-11 在上的分组交换网中,设报文长度和分组长度分别为x和(p+h)(bit),其中p为分 组的数据部分的长度,而h为每个分组所带的控制信息固定长度,与p的大小无关。通信 的两端共经过k段链路。链路的数据率为b(b/s),但传播时延和结点的排队时间均可忽 略不计。若打算使总的时延为最小,问分组的数据部分长度p应取为多大?(提示:参 考图1-12的分组交换部分,观察总的时延是由哪几部分组成。) 答:总时延D表达式,分组交换时延为:D= kd+(x/p)*((p+h)/b)+ (k-1)*(p+h)/b D对p导后,令其值等于0,得p=[(xh)/(k-1)]^0.5 1-12 因特网的两大组成部分(边缘部分与核心部分)的特点是什么?它们的工作方式 各有什么特点? 答:边缘部分:由各主机构成,用户直接进行信息处理和信息共享;低速连入核心网。   核心部分:由各路由器连网,负责为边缘部分提供高速远程分组交换。 1-13 客户服务器方式与对等通信方式的主要区别是什么?有没有相同的地方? 答:前者严格区分服务和被服务者,后者无此区别。后者实际上是前者的双向应用。 1-14 计算机网络有哪些常用的性能指标? 答:速率,带宽,吞吐量,时延,时延带宽积,往返时间RTT,利用率 1-15 假定网络利用率达到了90%。试估计一下现在的网络时延是它的最小值的多少倍 ? 解:设网络利用率为U。,网络时延为D,网络时延最小值为D0 U=90%;D=D0/(1-U)---->D/ D0=10   现在的网络时延是最小值的10倍 1-16 计算机通信网有哪些非性能特征?非性能特征与性能特征有什么区别? 答:征:宏观整体评价网络的外在表现。性能指标:具体定量描述网络的技术性能。 1-17 收发两端之间的传输距离为1000km,信号在媒体上的传播速率为2×108m/s。试 计算以下两种情况的发送时延和传播时延: (1) 数据长度为107bit,数据发送速率为100kb/s。 (2) 数据长度为103bit,数据发送速率为1Gb/s。 从上面的计算中可以得到什么样的结论? 解:(1)发送时延:ts=107/105=100s 传播时延tp=106/(2×108)=0.005s (2)发送时延ts =103/109=1µs 传播时延:tp=106/(2×108)=0.005s 结论:若数据长度大而发送速率低,则在总的时延中,发送时延往往大于传播时延。但 若数据长度短而发送速率高,则传播时延就可能是总时延中的主要成分。 1-18 假设信号在媒体上的传播速度为2×108m/s.媒体长度L分别为: (1)10cm(网络接口卡) (2)100m(局域网) (3)100km(城域网) (4)5000km(广域网) 试计算出当数据率为1Mb/s和10Gb/s时在以上媒体中正在传播的比特数。 解:(1)1Mb/s:传播时延=0.1/(2×108)=5×10-10 比特数=5×10-10×1×106=5×10-4 1Gb/s: 比特数=5×10-10×1×109=5×10-1 (2)1Mb/s: 传播时延=100/(2×108)=5×10-7 比特数=5×10-7×1×106=5×10-1 1Gb/s: 比特数=5×10-7×1×109=5×102 (3) 1Mb/s: 传播时延=100000/(2×108)=5×10-4 比特数=5×10-4×1×106=5×102 1Gb/s: 比特数=5×10-4×1×109=5×105 (4)1Mb/s: 传播时延=5000000/(2×108)=2.5×10-2

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值