031 二进制1的数量(keep it up, 看到这个问题,刚开始有点蒙)

剑指offer在标题中:http://ac.jobdu.com/problem.php?pid=1513

题目描写叙述:

输入一个整数,输出该数二进制表示中1的个数。当中负数用补码表示。

输入:

输入可能包括多个測试例子。

对于每一个输入文件,第一行输入一个整数T。代表測试例子的数量。对于每一个測试例子输入为一个整数。

。n保证是int范围内的一个整数。

输出:

相应每一个測试案例。

输出一个整数,代表输入的那个数中1的个数。

例子输入:
3
4
5
-1
例子输出:
1
2
32
正数的原码,补码,反码都同样,都等于它本身
负数的补码是:符号位为1,其余各位求反,末位加1
反码是:符号位为1,其余各位求反,但末位不加1
也就是说,反码末位加上1就是补码
-1011
原码:11011
反码:10100 //负数时,反码为原码取反
补码:10101 //负数时。补码为原码取反+1
移码:00101 //原数+10000

计算机中的正负数都用补码表示,知道这点这题就简单了,由于刚開始还在想怎么把负数的补码求出来。

。汗!

代码:
#include <stdio.h>
#include <stdlib.h>

int getCount1(int vNumber)
{
    int i     = 32;
    int Count = 0;

    while (i--)
    {
        if (vNumber & 0x00000001) ++Count;
        vNumber >>= 1;
    }

    return Count;
}

int main()
{
    int N;
    int Number;

    scanf("%d", &N);
    while (N--)
    {
        scanf("%d", &Number);
        printf("%d\n", getCount1(Number));
    }

    //system("pause");
    return 0;
}

/**************************************************************
    Problem: 1513
    User:
    Language: C
    Result: Accepted
    Time:80 ms
    Memory:912 kb
****************************************************************/

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-11-11 03:49:54

031 二进制1的数量(keep it up, 看到这个问题,刚开始有点蒙)的相关文章

计算机组成原理_第四版课后习题答案(完整版)

计算机组成原理_第四版课后习题答案(完整版) ?第一章 1.?比较数字计算机和模拟计算机的特点. 解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的: 数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行. 两者主要区别见P1?表1.1. 2.?数字计算机如何分类?分类的依据是什么? 解:分类: 数字计算机分为专用计算机和通用计算机.通用计算机又分为巨型机.大型机. 中型机.小型机.微型机和单片机六类. 分类依据:专用和通用是根据计算机的效率.速度.价格.运行的经济性和适应性来划

孙正义在干嘛

王少英 文章来源:百度 孙正义日本人,国际知名投资人.软件隐银行集团董事长兼总裁. 他的投资企业是香港亿通国际商务有限公司盛大网络,阿里巴巴雅虎.新浪.网易.8848.当当网上书店等. 软银不行了?孙正义得继承者居然都要辞职了! 前段时间软银集团可谓是霸占各大新闻网站得头条啊.近来开启疯狂的抛售模式得软银又有了大新闻.此时正是软银集团得非常时间,而这时总裁却要离职,毫无疑问,软银动荡,不安.而世人得议论更是少. 孙正义在一份声明中表示:"我完全信任Auroora  1000%得信任,我只知道他将

hdu 3591 多重加完全DP

题目: The trouble of Xiaoqian Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1997    Accepted Submission(s): 711 Problem Description In the country of ALPC , Xiaoqian is a very famous mathematici

Oracle442个应用场景----------数据库逻辑对象管理

-----------------数据库逻辑对象管理-------------------- ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型.数字类型.日期类型.LOB类型.LONG RAW& RAW类型.ROWID & UROWID类型. 在讲叙字符串类型前,先要讲一下编码.字符串类型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG)和国际字符集(NCHAR/NVARCHAR2/NCLOB)两

企业级搜索应用服务器solr介绍

简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果: 特点 Solr是一个独立的企业搜索服务器REST-like API. 你把文件(称为"索引") 通过XML.JSON.CSV通过HTTP或二进制. 你查询它通过HTTP GET和接收XML.JSON.CSV或二进制的结果. 高级全文搜索功

poj 1787 背包+记录路径

http://poj.org/problem?id=1787 Charlie's Change Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 4512   Accepted: 1425 Description Charlie is a driver of Advanced Cargo Movement, Ltd. Charlie drives a lot and so he often buys coffee at co

论文翻译:XNOR-Net: ImageNet Classification Using BinaryConvolutional Neural Networks

目录 Abstract 1 Introduction 2 Related Work 3 Binary Convolutional Neural Network 3.1 Binary-Weight-Networks 3.2 XNOR-Networks 4 Experiments 4.1 Efficiency Analysis 4.2 Image Classification 4.3 Ablation Studies 5 Conclusion 参考资料 论文地址:http://ai2-website

常用进制转换

原文:常用进制转换 最近的工作中,需要接触到一些硬件设备,处理这些设备的通讯,因此需要进行一些进制的转换.      其实,二进制.十六进制这些基本的知识,在我们刚学编程的时候,基础课应该已经讲过的了.但是,包括我自己在内,当时也仅仅是知道一般的换算规则,但是具体怎么应用,在c#中又是如何表示,也是近期才有比较深的体会.      具体的知识,各位就自己查看相关的基础知识了,这里我只给出自己在工作中的体会和实际的类库.      首先,先解释下C#的类型.一般,我们常用的有 byte.short

YYHS-怎样更有力气

题目描述 OI大师抖儿在夺得银牌之后,顺利保送pku.这一天,抖儿问长者:"我虽然已经保送了,但我的志向是为国家健康工作五十年.请问我应该怎样变得更有力气?"  长者回答:"你啊,Too Young Too Simple,Sometimes Naive!如果你想要我教你,你要先进行艰苦的修行." 长者的住宅中有一堵长度为n的墙.每天抖儿起床修行,会选择一段长度为x的区间染成白色.长者的住宅附近有一群香港记者,为了借助抖儿拜访长者,第i天香港记者会将区间[li,ri]