惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
WordPress大学
WordPress大学
美团技术团队
Last Week in AI
Last Week in AI
Microsoft Azure Blog
Microsoft Azure Blog
D
DataBreaches.Net
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
B
Blog RSS Feed
J
Java Code Geeks
The GitHub Blog
The GitHub Blog
人人都是产品经理
人人都是产品经理
Recorded Future
Recorded Future
The Register - Security
The Register - Security
博客园 - 三生石上(FineUI控件)
Recent Announcements
Recent Announcements
Recent Commits to openclaw:main
Recent Commits to openclaw:main
V
Vulnerabilities – Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
博客园 - 【当耐特】
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Simon Willison's Weblog
Simon Willison's Weblog
T
Troy Hunt's Blog
P
Privacy International News Feed
S
Security Affairs
The Cloudflare Blog
P
Proofpoint News Feed
G
GRAHAM CLULEY
Engineering at Meta
Engineering at Meta
A
Arctic Wolf
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
D
Docker
S
SegmentFault 最新的问题
N
News | PayPal Newsroom
Cyberwarzone
Cyberwarzone
H
Help Net Security
T
Threatpost
A
About on SuperTechFans
L
LINUX DO - 热门话题
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
N
News and Events Feed by Topic
Attack and Defense Labs
Attack and Defense Labs
M
MIT News - Artificial intelligence
Schneier on Security
Schneier on Security
月光博客
月光博客
F
Fortinet All Blogs
L
Lohrmann on Cybersecurity

博客园 - Arishuang

数据类型 varchar 和 varchar 在 modulo 运算符中不兼容。 ASP.NET2.0_多语言本地化应用程序 ASP.NET2.0_缓存 ASP.NET2.0_执行页面发送的强类型方法与弱类型方法 ASP.NET中的状态管理功能详解(转载) [ASP.NET] Session 详解(转载) ASP.NET页面下载功能程序(转载) vs2005中“密码最短长度为7,其中必须包含以下非字母数字字符: 1”错误 (转载) ASP.NET中实现页面间的参数传递 QueryString\Application\Session\Cookie (转载) - Arishuang ASP.NET页面跳转的几种方法(转载) 常用正则表达式(转载) C#_解决在控制台中输入Ctrl+Z的问题 C#格式化输出(转载) C#格式化输出 面试题之金山(函数练习2)_字符排序(字母、数字及其它字符)ParseString DS_汉诺塔 XML_(3)_用C#操作缓存中的XML即DOM 观书后感之"NET Web Services:架构与实现 (美)贝列哲 "2008-5-2 下定决心,认定了,就全力以赴.Web应用程序开发--跟你杠上了
面试题之金山_函数练习3_数值转换并输出数值中各个数字的个数(从低位到高位,输出转换后数值的各个数字个数)
Arishuang · 2008-05-10 · via 博客园 - Arishuang

函数练习3

写一个函数,对给定整数的二进制表示进行描述
如:给定整数131,其二进制表示为10000011,要求函数输出以下结果:
1: 2
0: 5
1: 1
表示从最低位开始,包含2个1,5个0,1个1。
参考上一题,确定本函数的名字,入口出口及返回值,并实现本函数

*解题思路:数制转换是(N/d)*d+N%d 而此题是要我们从低位开始的.又因平常的手写十进制转换二进制也是得到低位到高位的.
*利用上述的特性,我们只要比较新得出的低位数值是否与将要计算的高一位的数值相等,若等,则加一,不等则就输出这个数值
*有多少个,并清理计数器.具体代码最下面:

编程总结:
从这道题中,我又学到了数制转换方面的知识,但还暴露出很多问题。如刚开始自己可以得出转换后从低到高的数值,但
却写不出此题的结果代码。后又经参考别人的代码之后,自己终于做出来了。最大的收获还是在做什么事情,就要先好好的,仔细的了解、明白和清楚究竟是做什么。这次一开始就对题目研究得不是很透彻,导致了自己只能做到一半,最后要参考别人的代码(其实别人的代码也不是很正确)。好了,吸取教训啊。张大两只眼睛,还是看不清的话,就再加两只(即一副眼镜呗)。

#include <stdio.h>

void ParseInt(int pint)
{
     int sum=1; //相同数值个数计数器
     int tempa,tempb; //tempa放低位,tempb放高一位
     while(pint)
     {
          tempa=pint%2; //得到十进制转二进制的低位数值
          pint=pint/2;

          tempb=pint%2; //得到下一个将要得出的高一位数值
          if(tempa==tempb) //低位与高一位数值相比,若相等则计数器加一
          {
               sum++;
          }
          else   //两者不相等,则输出并清理计数器
          {
                printf("%d:%d\n",tempa,sum);
                sum=1;
          }
     }
     
}


int main()
{
 int Snum=131;
 ParseInt(Snum);
 
 scanf("%d",Snum);
}