BUG!!求二进制数中1的个数---编程之美

news/2024/7/4 15:00:14

问题如题,在编程之美中也给出了很多方案,而对于这一个题,我想大家最快想到的就是通过移位来进行,而编程之美中也是写了两种用位操作的方式,我就拿其中一个来说吧,这个bug也不是什么大问题,但它确实是一个很低级的bug!


下面是编程之美的源码:

int Count(int v)

{

        int  num = 0;

        while (v)

        {

               num += v & 0x01;

              v >>= 1;

        }

       return num;

}


在调用时,如果用正数当然没问题,关键就是如果参数是一个负数就是一个死循环了。因为这里用的是右移,在计算机中,右移有算术右移也逻辑右移之分,分别用于有符号数也无符号数。对于有符号数,右移会直接把丢掉最低位,最高位用最高位补充!

      如    1000 0000   >> 1     结果就是   1100 0000

我相信这个大家都知道。

    



   


http://www.niftyadmin.cn/n/3651869.html

相关文章

JAX-WS2.0规范--第一章:Introduction

Chapter1 IntroductionXML是一种平台无关的表示结构化信息的方式。XML Web服务使用XML为基础在基于网络的服务和这些服务的客户之间进行通信,并继承了XML的平台无关性。SOAP描述基于XML的消息格式,并“使用XML技术定义一个扩展的消息框架,该框…

JAX-RPC vs JAX-WS(二):用JAX-WS 2.0实现高性能的Web服务

面向服务的架构(SOA)能够使多个遗留系统或者是新的软件产品作为一个服务,对外通过Internet连接整合起来,实现服务与服务的相互通讯。Web服务技术是SOA实现的一个基础,它包含了不同的业务实体之间的复杂事务处理。XML 处理,作为Web…

【OSPF】【开篇大吉】

最近换了工作,发现好多知识都不了解,先从OSPF开始吧,每天学习一点点,记录OSPF的学习过程

利用EasyRTSTClient推海康视频流到EasyDarwin

一切都是为了好玩而已 因为前面花了点时间研究了一下EasyDarwin的相关数据结构和流传输的方式,所以,后面做起事情来就方便多了,但也还是有很多不清楚的地方,不过,这并不影响我的使用。 准备工具: &#xf…

JAX-RPC vs JAX-WS(二):用JAX-WS 2.0实现高性能的Web服务(续)

Primitive Array Performance就像你在基本类型的例子中所注意到的,那个例子并没有强调绑定层。如果你来回发送的只是基本类型的数据,那么基本类型的性能就被容器的性能隐藏了,比如说连接方面的处理,任务时序的安排,等等…

能强注塑

能强注塑 点击打开链接

JAX-RPC vs JAX-WS(一)简介

JAX-RPC vs JAX-WSIntroduction原文链接:http://www-128.ibm.com/developerworks/webservices/library/ws-tip-jaxwsrpc.htmlJAX-WS 2.0是JAX-RPC 1.1的后续版本。这篇文章介绍一系列这两种编程模型的对比:介绍Web服务已经出现了好长一段时间了。首先有的…

架构师之路

架构师(Architecture)是目前很多软件企业最急需的人才,也是一个软件企业中薪水最高的技术人才。换句话说,架构师是企业的人力资本,与人力资源相比其能够通过架构、创新使企业获得新的产品、新的市场和新的技术体系。那…