HDU 5980 位运算 进制转换函数 DEV C++调试失败的原因
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++调试失败的原因相关推荐
- 计算机系统-理论-CPU操作/处理数据的方式/寻址方式/局部性原理/位运算/进制转换
在计算机中,cpu将一切硬件,都看成内存,各种硬件在CPU的眼中都是下面这样子的 CPU对硬件的操作,其实就是和这些硬件的内存或者BIOS进行交互,CPU能做且只能做三件事 1.将某个地址中存储的字节 ...
- 神奇的位运算——进制转换问题(16转8)
说道位运算符,应该都了解,但是很少有人会用,在网上看别人的代码,我至今只见过一道题用到了位运算符,并被它深深的搞晕了(当然,他搞晕我是要负责的,我现在已经深深的迷上了他,真的是太神奇了),位运算符的原 ...
- 写一个比较全的进制转换函数--ic
//写一个比较全的进制转换函数-----未完成 #include <stdio.h> //D进制转换后 (比如10-2进制) 结果可能会很大 需要很长的字符串来存 #include < ...
- python转换函数使用_python进制转换函数代码的使用
python进制转换函数代码的使用 发布时间:2020-04-23 10:23:22 来源:亿速云 阅读:188 作者:小新 以上就是python进制转换函数代码的使用的详细内容了,看完之后是否有所收 ...
- 小乐乐与进制转换-c++(六进制转换函数)
题目描述 小乐乐在课上学习了二进制八进制与十六进制后,对进制转换产生了浓厚的兴趣.因为他的幸运数字是6,所以他想知道一个数表示为六进制后的结果.请你帮助他解决这个问题. 输入描述: 输入一个正整数n ...
- python进制转换函数-Python中进制转换函数的使用
Python中进制转换函数的使用 关于Python中几个进制转换的函数使用方法,做一个简单的使用方法的介绍,我们常用的进制转换函数常用的就是int()(其他进制转换到十进制).bin()(十进制转换到 ...
- Nwafu-OJ-1437 Problem h C语言实习题六——6.进制转换函数设计
问题 : C语言实习题六--6.进制转换函数设计 时间限制: 1 Sec 内存限制: 128 MB 提交: 3451 解决: 2057 [提交][状态][讨论版] 题目描述 设计一个函数,将任意一 ...
- oracle转换为16进制,Oracle的十进制和16进制转换函数
Oracle的10进制和16进制转换函数 在数据库中,常常需要将10进制转16进制,又会需要将16进制转10进制.有两个使用PL/SQL开发的函数,可以方便使用. create or replace ...
- python进制转换函数及方法
python进制转换函数 一.通过int函数实现其他进制转十进制 假设 M 为某已知进制字符串 n 的进制数 result = int(n,M) --------------------------- ...
- c++的进制转换函数
https://blog.csdn.net/u010003835/article/details/47665847 https://blog.csdn.net/vir_lee/article/deta ...
最新文章
- C#_动态获取鼠标位置的颜色
- c语言中go的作用,go语言与c语言的相互调用
- python 节点_python在以太坊开发中节点和网络如何选择?
- 03_TortoiseGit冲突和补丁演示,补丁冲突
- loadrunner脚本录制为空的解决方法
- 搜索引擎蜘蛛给网站带来的危害,有效指引爬虫对应的措施(最准确搜索引擎蜘蛛名称)...
- Springboot+Mybatis+PageHelper 分页、排序
- work summary(2)
- std string与线程安全_是std :: regex线程安全吗?
- Axure9 导入元件库
- Python 入门演示 1
- 集成电路那些事儿:CMOS模拟集成电路版图基础
- 金融计量模型(十一):对波动率和相关性建模
- 计算机体系结构期末重点,计算机系统结构期末重点题目及考点
- .NET发邮件(验证码)
- shell脚本编程基础(上)
- 华为荣耀9青春版系统向鸿蒙,华为荣耀9青春版EMUI8.0刷回官方原版recovery的教程...
- Unix/Linux下的Curses库开发指南——第三章curses库窗口
- 手把手教学京东api接口全部操作过程
- Linux系统管理学习计划