HDU 5980 位运算 进制转换函数 DEV C++调试失败的原因

标签(空格分隔): 算法竞赛 编程窍门


    Find Small ATime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 427    Accepted Submission(s): 220Problem DescriptionAs is known to all,the ASCII of character 'a' is 97. Now,find out how many character 'a' in a group of given numbers. Please note that the numbers here are given by 32 bits’ integers in the computer.That means,1digit represents 4 characters(one character is represented by 8 bits’ binary digits).InputThe input contains a set of test data.The first number is one positive integer N (1≤N≤100),and then N positive integersai (1≤ ai≤2^32 - 1) followOutputOutput one line,including an integer representing the number of 'a' in the group of given numbers.Sample Input397 24929 100Sample Output3

看到这题,有何感想?当时我没用位运算去做,我用的对256取商,取模。但是这里碰到一个问题:long long型数据在做模运算时,有些编译器(比如dev C++)内存会崩溃,导致内存溢出。这也是dev无法正常调试的原因之一
其实,可以用位运算很好地实现这个过程,程序如下

#include <stdio.h>int main()
{int n,p=0;long long i;scanf("%d",&n);while (n--){scanf("%lld",&i);while (i!=0){if ((i&255)==97)p++;i = i >> 8;}}printf("%d\n",p);return 0;
}

用位运算,比用其他方法写起来简单多了。但是注意,位运算的优先级比较低,在关系运算符之下,逻辑运算符之上

除此之外,补充一个进制转换函数:itoa().

    该函数包含在stdlib库中,用途是将一个十进制数转换为任意进制数itoa(number,array,system)结果是一个字符串,分别存放转换后的进制数的每一位。

如下面的范例程序

#include <stdio.h>
#include <stdlib.h>
int main()
{int j=1001;char a[1001];printf("%s\n",itoa(j,a,2));return 0;
}

转载于:https://www.cnblogs.com/yichuan-sun/p/9624204.html

HDU 5980 位运算 进制转换函数 DEV C++调试失败的原因相关推荐

  1. 计算机系统-理论-CPU操作/处理数据的方式/寻址方式/局部性原理/位运算/进制转换

    在计算机中,cpu将一切硬件,都看成内存,各种硬件在CPU的眼中都是下面这样子的 CPU对硬件的操作,其实就是和这些硬件的内存或者BIOS进行交互,CPU能做且只能做三件事 1.将某个地址中存储的字节 ...

  2. 神奇的位运算——进制转换问题(16转8)

    说道位运算符,应该都了解,但是很少有人会用,在网上看别人的代码,我至今只见过一道题用到了位运算符,并被它深深的搞晕了(当然,他搞晕我是要负责的,我现在已经深深的迷上了他,真的是太神奇了),位运算符的原 ...

  3. 写一个比较全的进制转换函数--ic

    //写一个比较全的进制转换函数-----未完成 #include <stdio.h> //D进制转换后 (比如10-2进制) 结果可能会很大 需要很长的字符串来存 #include < ...

  4. python转换函数使用_python进制转换函数代码的使用

    python进制转换函数代码的使用 发布时间:2020-04-23 10:23:22 来源:亿速云 阅读:188 作者:小新 以上就是python进制转换函数代码的使用的详细内容了,看完之后是否有所收 ...

  5. 小乐乐与进制转换-c++(六进制转换函数)

    题目描述 小乐乐在课上学习了二进制八进制与十六进制后,对进制转换产生了浓厚的兴趣.因为他的幸运数字是6,所以他想知道一个数表示为六进制后的结果.请你帮助他解决这个问题. 输入描述: 输入一个正整数n ...

  6. python进制转换函数-Python中进制转换函数的使用

    Python中进制转换函数的使用 关于Python中几个进制转换的函数使用方法,做一个简单的使用方法的介绍,我们常用的进制转换函数常用的就是int()(其他进制转换到十进制).bin()(十进制转换到 ...

  7. Nwafu-OJ-1437 Problem h C语言实习题六——6.进制转换函数设计

    问题 : C语言实习题六--6.进制转换函数设计 时间限制: 1 Sec  内存限制: 128 MB 提交: 3451  解决: 2057 [提交][状态][讨论版] 题目描述 设计一个函数,将任意一 ...

  8. oracle转换为16进制,Oracle的十进制和16进制转换函数

    Oracle的10进制和16进制转换函数 在数据库中,常常需要将10进制转16进制,又会需要将16进制转10进制.有两个使用PL/SQL开发的函数,可以方便使用. create or replace ...

  9. python进制转换函数及方法

    python进制转换函数 一.通过int函数实现其他进制转十进制 假设 M 为某已知进制字符串 n 的进制数 result = int(n,M) --------------------------- ...

  10. c++的进制转换函数

    https://blog.csdn.net/u010003835/article/details/47665847 https://blog.csdn.net/vir_lee/article/deta ...

最新文章

  1. C#_动态获取鼠标位置的颜色
  2. c语言中go的作用,go语言与c语言的相互调用
  3. python 节点_python在以太坊开发中节点和网络如何选择?
  4. 03_TortoiseGit冲突和补丁演示,补丁冲突
  5. loadrunner脚本录制为空的解决方法
  6. 搜索引擎蜘蛛给网站带来的危害,有效指引爬虫对应的措施(最准确搜索引擎蜘蛛名称)...
  7. Springboot+Mybatis+PageHelper 分页、排序
  8. work summary(2)
  9. std string与线程安全_是std :: regex线程安全吗?
  10. Axure9 导入元件库
  11. Python 入门演示 1
  12. 集成电路那些事儿:CMOS模拟集成电路版图基础
  13. 金融计量模型(十一):对波动率和相关性建模
  14. 计算机体系结构期末重点,计算机系统结构期末重点题目及考点
  15. .NET发邮件(验证码)
  16. shell脚本编程基础(上)
  17. 华为荣耀9青春版系统向鸿蒙,华为荣耀9青春版EMUI8.0刷回官方原版recovery的教程...
  18. Unix/Linux下的Curses库开发指南——第三章curses库窗口
  19. 手把手教学京东api接口全部操作过程
  20. Linux系统管理学习计划

热门文章

  1. 类模板使用示例(二)类模板整体特化
  2. iOS开发,导入CocoaPods常用的类库
  3. HTTP协议&SOCKET协议
  4. Codeforces Round #224 (Div. 2)
  5. 读书笔记之文件和注册表操作
  6. 多个线程同时写入一个文件问题------php
  7. JavaScript中的标识符(附:关键字表)
  8. 【推荐系统】BERT4Rec:使用Bert进行序列推荐
  9. 那个高产似母猪的复旦计算机硕士
  10. 【分享】计算机ers,读博、国企、互联网公司该如何选择?