NEW  |  HOME  |  OLD

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

NEW  |  HOME  |  OLD

立ってるビット数を数える

2/25
08:40 (Sance_) あー、DRMさんの言ってた立ってるビット数ってこういう意味かw
08:41 (Sance_) 記事でようやくわかった(
08:41 (Sance_) 確かこれ数行でできたはず・・・ 一回やってみよう
09:57 (Sance_) できた・・・!
09:57 (Sance_) くっそ面倒な数式ができた(
10:15 (Sance_) コメントも追加してみた。
10:15 (Sance_) [State Bit]
10:15 (Sance_) Type = Varset
10:15 (Sance_) Trigger1 = 1 || Var(0) := 345645657 ;立ってるビット数が欲しい数値
10:15 (Sance_) Trigger1 = 1 || Var(1) := Var(0)
10:15 (Sance_) Trigger1 = 1 || Var(1) := (Var(1)) - (Var(1)&-2147483648) ;マイナス値だと計算が狂うので一旦オフに
10:15 (Sance_) Trigger1 = 1 || Var(1) := (Var(1)&1431655765) + ((Var(1)/2)&1431655765) ; 1431655765 = 0x55555555 = 0101010101010101...
10:15 (Sance_) Trigger1 = 1 || Var(1) := (Var(1)&858993459) + ((Var(1)/4)&858993459) ; 858993459 = 0x33333333 = 0011001100110011...
10:15 (Sance_) Trigger1 = 1 || Var(1) := (Var(1)&252645135) + ((Var(1)/16)&252645135) ;252645135 = 0x0F0F0F0F = 0000111100001111...
10:15 (Sance_) Trigger1 = 1 || Var(1) := (Var(1)&16711935) + ((Var(1)/256)&16711935) ;16711935 = 0x00FF00FF = 0000000011111111...
10:15 (Sance_) var(1) = ((Var(1)&31) + (Var(1)/256/256)) + !!(Var(0)&-2147483648) ;立ってる最初の16ビット+次の15ビット+マイナス値だった場合の誤差
10:15 (Sance_) ignorehitpause=1
10:15 (Sance_) わかるだろうか?
10:17 (Sance_) まぁ、DRM氏がきたらもう一度貼ろう・・・

16:31 (dry_ice) あ、そうだDRM氏 なんかSance氏がお話したいことがあるそうですぜ(今起きてるかわからないけど
16:32 (DRM) ほぉ~、なんじゃろなぁ
16:32 (dry_ice) 一応ログ残ってるんで貼りましょうかね?
16:33 (DRM) あ、お願いします
16:34 (dry_ice) 10:15 (Sance_) Type = Varset
16:34 (dry_ice) 10:15 (Sance_) Trigger1 = 1 || Var(0) := 345645657 ;立ってるビット数が欲しい数値
16:34 (dry_ice) 10:15 (Sance_) Trigger1 = 1 || Var(1) := Var(0)
16:34 (dry_ice) 10:15 (Sance_) Trigger1 = 1 || Var(1) := (Var(1)) - (Var(1)&-2147483648) ;マイナス値だと計算が狂うので一旦オフに
16:34 (dry_ice) 10:15 (Sance_) Trigger1 = 1 || Var(1) := (Var(1)&1431655765) + ((Var(1)/2)&1431655765) ; 1431655765 = 0x55555555 = 0101010101010101...
16:34 (dry_ice) 10:15 (Sance_) Trigger1 = 1 || Var(1) := (Var(1)&858993459) + ((Var(1)/4)&858993459) ; 858993459 = 0x33333333 = 0011001100110011...
16:34 (dry_ice) 10:15 (Sance_) Trigger1 = 1 || Var(1) := (Var(1)&252645135) + ((Var(1)/16)&252645135) ;252645135 = 0x0F0F0F0F = 0000111100001111...
16:34 (dry_ice) 10:15 (Sance_) Trigger1 = 1 || Var(1) := (Var(1)&16711935) + ((Var(1)/256)&16711935) ;16711935 = 0x00FF00FF = 0000000011111111...
16:34 (dry_ice) 10:15 (Sance_) var(1) = ((Var(1)&31) + (Var(1)/256/256)) + !!(Var(0)&-2147483648) ;立ってる最初の16ビット+次の15ビット+マイナス値だった場合の誤差
16:34 (dry_ice) 10:15 (Sance_) ignorehitpause=1
16:34 (dry_ice) ということらしいですが
16:35 (dry_ice) DRMさんの言ってた立ってるビット数に関する記述らしいです
16:36 (DRM) サンキューです。早速解析開始しようw
17:09 (DRM) うお、やべぇw 答えがしっかり出とるなぁ。まだ理解はしていないが確認はした
17:17 (dry_ice) すげぇ、あれ分かるのか・・・w(全然わからんかったw
17:18 (DRM) 電卓使って2進数化した値を並べればどうなっているか分かるね~
18:14 (DRM) あれ
18:14 (DRM) Trigger1 = 1 || Var(1) := (Var(1)&16711935) + ((Var(1)/256)&16711935)
18:15 (DRM) これ必要か・・・?
18:16 (DRM) いや、きっと必要だ、うん
18:18 (DRM) あれだ、2分するんだからきっと必要
18:24 (DRM) あー、最終的に右に寄せて10進数にした時に個数として出せるようにしたのか
18:32 (DRM) (Var(1)/256/256)は((Var(1)/256/256)&31)が正しいのか?
18:42 (DRM) なるほど、分割しないで右に寄せ続けたのがゴリ押しの方法だったか

20:21 (Sance_) DRMさんに見せたい記述あるよー、って思ってたらもう貼られてたでござる。
20:21 (DRM) おはよう&ありがとうでっせ
20:21 (Sance_) まぁ、いいや
20:21 (Sance_) というか、あのコメントでよくわかったなーw
20:21 (Sance_) 自分なら投げてたと思うw
20:22 (DRM) いやまぁ多少は調べたから内容は分かったのよw
20:23 (Sance_) でもまぁ、結局ゴリ押しにはかわんねーけどねw
20:24 (Sance_) 必要な数式の数は減るけど(
20:25 (DRM) 1ずつシフトする自分よか遥かにスマートやろw
20:25 (Sance_) 確かハミング重みっていうらしい。
20:28 (DRM) しかし最大30行超えるものが10行以内に抑えられるのはええものや
20:29 (Sance_) だねーw
20:29 (Sance_) コメントなかったら全く意味不明の記述に見えるけどw
20:29 (Sance_) 数値的に
20:29 (DRM) 10進数ならねw
20:30 (Sance_) というか、そもそも何に使うのだろう?
20:31 (DRM) ちょっとAIのトリガーにねー
20:32 (DRM) 広範囲のInGuardDistをビット演算で記憶→広範囲にInGuardDistが発生していたらぶっぱみたいな
20:32 (Sance_) 実は記事にするまで立ってるビットって「キャラが立ち状態」でのビットの数とか考えてて質問の意味がわからなかった・・・
20:33 (Sance_) ふむ、なるほどー
20:33 (DRM) 主語無かったもんね、ごめんw
20:37 (Sance_) でも、広範囲で一つでも立ってるだけって状況なら普通に(Var(X)&○○+○○+○○)でよかったんじゃ・・・
20:38 (Sance_) 別に立ってる数が必要ってわけでも
20:38 (Sance_) 括弧忘れたかな?
20:38 (Sance_) 多分(
20:39 (DRM) 20か所で感知しているんですけど、
20:40 (DRM) Random <= 1の数*2.0 みたいにしてるんですよね、発生条件
20:40 (Sance_) なるほど・・・

リンク1:立ってるビットの数を求める[でぃーあーるM]
リンク2:立ってるビットの数を求める式[Sanceのブログ~]

NEW  |  HOME  |  OLD

Comment

コメントの投稿


管理者にだけ表示を許可する

Trackback

http://kyoakumugenirc.blog61.fc2.com/tb.php/2545-7145c98f

NEW  |  HOME  |  OLD

 検索フォーム


 全記事表示リンク

 全記事表示(500件ずつ)


 プロフィール

vesper

Author:vesper

IRCチャンネルの
#凶悪MUGEN
#凶悪MUGEN_雑談
のログからMUGENに関するものを編集・公開しています。
修正した方が良い箇所があった場合は知らせてもらえると助かります。
MUGEN界隈からはリンクフリーです。
その他からのリンクはご遠慮ください。
このブログをリンクに追加

IRCへの入り方などは
IRCに関する記事
をご覧ください。

簡易凶悪MUGEN IRC情報
・ホスト名
 [irc.friend-chat.jp]
・ポート番号
 [6664]
・チャンネル名
 [#凶悪MUGEN]
 [#凶悪MUGEN_雑談]
 (以下はお好みで)
 [#凶悪MUGEN_艦これ]
 [#凶悪MUGEN_スマブラ]
 [#凶悪MUGEN_麻雀]
 [#凶悪MUGEN_緋想天]
 [#凶悪MUGEN_アカツキ]
 [#凶悪MUGEN_小説]
 [#凶悪MUGEN_絵チャ]

・推奨IRCクライアント
 LimeChat2


 カテゴリ

記述の子カテゴリは目安程度に考えてください。

 最新コメント


 最新記事


 カウンター

累計の閲覧者数:

現在の閲覧者数:

 RSSリンクの表示


他ブログ更新情報(最新70件)

仕様上、下記のリンク一覧でサイトリンクにあるサイトはこの一覧に出ません。

Twitter


基礎リンク集


リンク

サイトに断り書きがない限りリンクさせてもらっています。
リンクしてほしくない場合はお気軽におっしゃってください。

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。