[過去ログ]
ふらっと C#,C♯,C#(初心者用) Part138 (1002レス)
ふらっと C#,C♯,C#(初心者用) Part138 http://mevius.5ch.net/test/read.cgi/tech/1528194762/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
484: デフォルトの名無しさん (ワッチョイ 5f5d-bAjg) [sage] 2018/07/07(土) 00:10:19.78 ID:PwTdVeWu0 >>471の件ではどうもありがとうございました もう一つ質問させてください 以下のPopulation1とPopulation2は同じ結果になるそうです Population1は>>471のPower2によく似てるので これは指数計算の変形だと思うのですが、 Population2でも同じ結果になるのが理解できません 何度もすみませんがよろしくお願いします uint Population1(uint n) { uint population = 0; while (n > 0) { if (n % 2 == 1) population = population + 1; n = n / 2; } return population; } uint Population2(uint n) { uint population = 0; while (n > 0) { population = population + 1; n = n & n - 1; } return population; } http://mevius.5ch.net/test/read.cgi/tech/1528194762/484
485: デフォルトの名無しさん (ワッチョイ 5f5d-bAjg) [sage] 2018/07/07(土) 00:10:35.11 ID:PwTdVeWu0 >>482 確かにWikipediaによれば 半群Sが単位元1をもつならSの元aの0乗は1になるので Sが零元0ももつなら0の0乗は1になるそうです・・・なんのこっちゃw >>483 ありがとうございます Power2はちゃんとした名前のついたアルゴリズムだったんですね この分だとPopulation2にも名前がついてそうですが それらしい情報を見つけることができなかったので もしご存知だったら教えてもらえると嬉しいです http://mevius.5ch.net/test/read.cgi/tech/1528194762/485
487: デフォルトの名無しさん (ワッチョイ 5f5d-bAjg) [sage] 2018/07/07(土) 00:57:48.65 ID:PwTdVeWu0 >>486 ありがとうございます ビット演算については分かってるつもりだったのに全然でした・・・ ヒントを貰って下のようなプログラムを試してみたら 確かに最下位ビットが順に消えていって感動です uint n = 4649; while (n > 0) { Console.WriteLine(Convert.ToString(n, 2)); n = n & n - 1; } 【実行結果】 1001000101001 1001000101000 1001000100000 1001000000000 1000000000000 でも結局n = n & n - 1;で最下位ビットが消える理由が 理解できていないのでもう少し考えてきます http://mevius.5ch.net/test/read.cgi/tech/1528194762/487
489: デフォルトの名無しさん (ワッチョイ 5f5d-bAjg) [sage] 2018/07/07(土) 01:35:58.15 ID:PwTdVeWu0 >>488 とてもわかり易い説明ありがとうございます!お陰様で理解できました 実はこの説明を読むまでn & n - 1は(n & n) - 1という意味だと思ってて、 それならn - 1と同じじゃないのかと思いながらも トンチンカンなことを言ってしまうのが怖くて黙ってたのですが、 こんなことなら変なプライドは捨ててさっさと疑問をぶつければよかったです この問題を考えていて、少しビット演算に慣れてきた気がします 使い道があるかどうかは分かりませんが、 n = n & ~(n - 1);だと逆に最下位ビット以外を消すことができるんですね とにかく、どうもありがとうございました http://mevius.5ch.net/test/read.cgi/tech/1528194762/489
490: デフォルトの名無しさん (ワッチョイ 5f5d-bAjg) [sage] 2018/07/07(土) 01:57:17.51 ID:PwTdVeWu0 今更ですがPopulationってビットの人口ってことだったんですね・・・ Wikipediaにもページがバッチリありました https://en.wikipedia.org/wiki/Population_count http://mevius.5ch.net/test/read.cgi/tech/1528194762/490
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.034s