依舊的博客
技術(shù)學(xué)習(xí)
C++博客
首頁(yè)
新隨筆
聯(lián)系
聚合
管理
17 Posts :: 1 Stories :: 2 Comments :: 0 Trackbacks
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(3)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類(lèi)
(15)
編程(13)
動(dòng)手(1)
基礎(chǔ)(1)
業(yè)務(wù)
隨筆檔案
(17)
2007年4月 (1)
2007年1月 (1)
2006年10月 (1)
2006年9月 (1)
2006年8月 (2)
2006年6月 (1)
2006年5月 (10)
文章分類(lèi)
(9)
編程(4)
動(dòng)手(1)
基礎(chǔ)(1)
思想(3)
文章檔案
(1)
2007年5月 (1)
搜索
最新評(píng)論
1.?re: 思路欣賞
確實(shí)沒(méi)有太直接的用處,訓(xùn)練思維吧
--zliner
2.?re: 思路欣賞
沒(méi)有看明白,但在看完了以后,會(huì)想說(shuō),這樣的想法,能幫助我們解決哪些問(wèn)題?
--E398
閱讀排行榜
1.?MVC模式和文檔/視圖結(jié)構(gòu)(3071)
2.?觀察者模式(2298)
3.?C/S通信和Winsock編程(2290)
4.?錯(cuò)誤碼、異常和斷言(1461)
5.?COM基本概念和COM模型(1190)
評(píng)論排行榜
1.?思路欣賞(2)
2.?MFC的五種基本機(jī)制(0)
3.?多操作系統(tǒng)的引導(dǎo)(0)
4.?用例分析基礎(chǔ)(0)
5.?MVC模式和文檔/視圖結(jié)構(gòu)(0)
思路欣賞
欣賞好的思路是一件愉快的事,特別是對(duì)我不會(huì)做的題目。
1. 問(wèn)題:對(duì)32位的二進(jìn)制整數(shù),不用循環(huán),求出其中1的個(gè)數(shù)。
#define
?POW(c)?(1<<(c))
#define
?MASK(c)?(((unsigned?long)-1)?/?(POW(POW(c))?+?1))
#define
?ROUND(n,?c)?(((n)?&?MASK(c))?+?((n)?>>?POW(c)?&?MASK(c)))
int
?bit_count(unsigned?
int
?n)
{
????n?
=
?ROUND(n,?
0
);
????n?
=
?ROUND(n,?
1
);
????n?
=
?ROUND(n,?
2
);
????n?
=
?ROUND(n,?
3
);
????n?
=
?ROUND(n,?
4
);
????
return
?n;
}
基本的想法是把所有的1加起來(lái),得到的就是1的個(gè)數(shù)。我們需要把這些1分離出來(lái),每個(gè)1都是平等的,與其位置無(wú)關(guān)。難題在于不能一個(gè)一個(gè)去取,那就用到了循環(huán),當(dāng)然遞歸也是不允許的。需要有一種統(tǒng)一的辦法,可是很難想象具體該怎樣。我們逐步地做這件事,假設(shè)前16位和后16位分別求得了1的個(gè)數(shù),那么加起來(lái)就行了。16位二進(jìn)制中的1仍然是未知的,隨機(jī)出現(xiàn)的,問(wèn)題的性質(zhì)沒(méi)有變,但我們可以繼續(xù)分解,這種逐步的做法不一定就意味著遞歸。每個(gè)16位分解為兩個(gè)8位,...,每個(gè)2位分解為兩個(gè)1位,把兩個(gè)1位上的數(shù)相加就是這兩位上1的個(gè)數(shù)。現(xiàn)在需要取出每一位上的數(shù)嗎?如果想到了這個(gè)問(wèn)題,就離最終的思路不遠(yuǎn)了。現(xiàn)在32位已經(jīng)分成了16個(gè)兩位,很容易將其看作兩個(gè)16位,一個(gè)是所有奇數(shù)位,一個(gè)是所有偶數(shù)位。我們不難把這兩個(gè)16位分開(kāi),然后移位相加,就求出了每?jī)晌恢?的個(gè)數(shù)。到了這一步,以后的思路就很自然了。
參考:
《計(jì)算二進(jìn)制位'1'的個(gè)數(shù)》來(lái)自?
http://kaikai.cnblogs.com
posted on 2006-05-12 23:14
依舊的博客
閱讀(686)
評(píng)論(2)
編輯
收藏
引用
所屬分類(lèi):
編程
Feedback
#
re: 思路欣賞
2006-06-23 18:54
E398
沒(méi)有看明白,但在看完了以后,會(huì)想說(shuō),這樣的想法,能幫助我們解決哪些問(wèn)題?
回復(fù)
更多評(píng)論
#
re: 思路欣賞
2006-06-23 20:44
zliner
確實(shí)沒(méi)有太直接的用處,訓(xùn)練思維吧
回復(fù)
更多評(píng)論
刷新評(píng)論列表
只有注冊(cè)用戶(hù)
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
用例分析基礎(chǔ)
MFC的五種基本機(jī)制
思路欣賞
幾種排序方法的實(shí)現(xiàn)
多線(xiàn)程通信的機(jī)制
COM基本概念和COM模型
排序的方法
數(shù)據(jù)庫(kù)范式及其涵義
C/S通信和Winsock編程
論面向?qū)ο?/a>
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
Powered by:
C++博客
Copyright © 依舊的博客
久久久久人妻精品一区三寸蜜桃
|
久久天天躁狠狠躁夜夜2020一
|
热久久这里只有精品
|
精品人妻伦一二三区久久
|
亚洲精品99久久久久中文字幕
|
亚洲精品美女久久久久99
|
精品国产热久久久福利
|
欧美午夜精品久久久久免费视
|
国内精品久久久久久不卡影院
|
亚洲国产天堂久久综合网站
|
久久久久国产一区二区三区
|
久久精品国产亚洲av影院
|
久久精品亚洲男人的天堂
|
99久久免费国产精精品
|
人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视
|
亚洲精品国产第一综合99久久
|
WWW婷婷AV久久久影片
|
国产成人久久精品一区二区三区
|
久久精品中文无码资源站
|
久久91精品国产91
|
久久强奷乱码老熟女网站
|
国产精品成人精品久久久
|
久久人人爽人人爽人人片AV不
|
伊人色综合九久久天天蜜桃
|
久久久久亚洲AV成人网人人软件
|
国产精品久久久久久久久鸭
|
久久久久久亚洲精品成人
|
综合网日日天干夜夜久久
|
久久久久国产精品嫩草影院
|
性高朝久久久久久久久久
|
一本久久综合亚洲鲁鲁五月天
|
成人精品一区二区久久
|
国产精品免费看久久久香蕉
|
日本道色综合久久影院
|
91亚洲国产成人久久精品网址
|
久久久久四虎国产精品
|
国产精品免费看久久久香蕉
|
久久无码人妻精品一区二区三区
|
一本久久a久久精品综合香蕉
|
久久久久久久综合狠狠综合
|
A级毛片无码久久精品免费
|