- 1 名前:デフォルトの名無しさん [2006/09/16(土) 09:46:26 ]
- 前スレ
ビット演算 pc8.2ch.net/test/read.cgi/tech/1123918075/ 関連スレ アセンブラ… (゜□゜) ↑アッー!↓ pc8.2ch.net/test/read.cgi/tech/1148402614/ 関連情報 Hacker's Delight ttp://www.hackersdelight.org/ ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか ttp://www.amazon.co.jp/exec/obidos/ASIN/4434046683 ビットを数える・探すアルゴリズム ttp://www.nminoru.jp/~nminoru/programming/bitcount.html Bitboard ttp://en.wikipedia.org/wiki/Bitboard
- 124 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 18:20:58 ]
- Bit Twiddling Hacks
ttp://graphics.stanford.edu/~seander/bithacks.html こんなサイトが(英語だけど) テンプレに入れる?
- 125 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 21:33:10 ]
- 入れるのはいいけど、それまで続くんか?
- 126 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 22:46:32 ]
- コンパイル時には>>124をテンプレとしてオーバーライドします。
- 127 名前:デフォルトの名無しさん [2007/02/13(火) 07:43:07 ]
- もうこのスレも息切れみたいだね。
- 128 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 23:14:23 ]
- だいたいビット演算ごときでときめいちゃうのは厨房までだろw
煽りぬきで
- 129 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 23:51:38 ]
- ていうか、パズルみたいなもんだろ。
さすがに、ネタ切れにて閉店でいいと思うよ。
- 130 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 15:02:08 ]
- よほど要求速度や省メモリがシビアな環境でない限りは妙な小細工はたいして必要ないもんね
- 131 名前:デフォルトの名無しさん [2007/02/15(木) 15:47:08 ]
- int i = 20070215;
で、この i からそれぞれ 2007, 2, 15 って数字が欲しいんだけど 誰かカッコ良くビット演算使ってやってください。
- 132 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 15:50:34 ]
- >>131
実質的には除数固定で割り算を行うのと同じだから 割り算の話になるな。
- 133 名前:デフォルトの名無しさん [2007/02/15(木) 16:48:06 ]
- 0x20070215
- 134 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 16:53:01 ]
- >>131-133
それすごくもったいなくないか たしか 日:1-31 (5bit) 月:1-12 (4bit) 年:00-99 (7bit) で 16bit っつー表記があったな FDとかHDのタイムスタンプとか 今なら年だけ 0000-9999 (14bit) でも 23bit で余裕な訳だが
- 135 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 17:03:23 ]
- >>134
そんなところでビットをケチったってしょうがねぇべさ。 そのフォーマット(MS-DOSのFATだな)はタイムスタンプが2秒単位でしか記録できないしね。 #hour:5, minute:6, second:5
- 136 名前:デフォルトの名無しさん [2007/02/16(金) 03:33:47 ]
- ねえ偉い人
10進数を3進数に変換するコードはJAVAでどう書きますか?
- 137 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 03:46:47 ]
- ↑バカ
- 138 名前:デフォルトの名無しさん [2007/02/16(金) 14:24:00 ]
- イマイチビット演算はよくわからん
- 139 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 15:18:45 ]
- ビット演算してると脳汁が出る
大抵は無意味だけど オナニーとしてはナカナカそそる
- 140 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 15:28:21 ]
- ビット演算って1や0にするだけじゃん。
- 141 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 15:35:59 ]
- だが、それがいい。
- 142 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 15:55:53 ]
- 3|17 2
3| 5 2 1 10進数:17 -> 3進数:122 10進数から3進数への変換て、これであってる?
- 143 名前:デフォルトの名無しさん [2007/02/16(金) 15:59:57 ]
- なんかboost::randomの使い方が良く分からないので
extern boost::mt19937 brand; inline const float&n_rand(){ static float x; *((unsigned int*)&x)=(brand()&0x7FFFFF)|0x3F000000; return x; } とかやってる俺はkusobaka
- 144 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 20:57:54 ]
- うわっバカだ
staticいらないだろ。
- 145 名前:デフォルトの名無しさん [2007/02/16(金) 23:56:47 ]
- bitマスクとかメンドクサイから言語レベルでbitの配列みたいに扱える
演算子があれば良いんだけどな。 STLやboostを使っても型変換が必要だし。
- 146 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 23:58:08 ]
- ビットフィールド?
- 147 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 00:00:30 ]
- static を除去するなら、戻り値は const float & ではなく float にすべきでもある。
ところで、乱数の範囲はそれでいいのか? 2進表現で0x3f800000 から 0x3fffffff にして、そこから 1.0f を引くと [0..1) になって使いやすいと思うが。
- 148 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 01:31:32 ]
- floatの表現がIEEEに合致するってのは保証されてるんだっけ?
- 149 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 01:54:26 ]
- うんにゃ、されてない
- 150 名前:デフォルトの名無しさん mailto:sage [2007/02/17(土) 08:36:23 ]
- だが、それがいい
- 151 名前:デフォルトの名無しさん [2007/02/18(日) 21:02:06 ]
- 32bitのエンディアンの変換てどうすればいい?
- 152 名前:150 mailto:sage [2007/02/18(日) 21:13:28 ]
- ごめん、よく考えたら大したことなかった。
これでOKだ。 x = ( ( x >> 8 ) & 0x00ff00ff ) | ( ( x << 8 ) & 0xff00ff00 ); x = ( ( x >> 16 ) & 0x0000ffff ) | ( ( x << 16 ) & 0xffff0000 );
- 153 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 09:11:59 ]
- 単に
x = (x & 0x000000ff) << 24 | (x & 0x0000ff00) << 8 | (x & 0x00ff0000) >> 8 | (x & 0xff000000) >> 24; と書いては何かまずいの? 152の方法だと1行目で算出したxを2行目で使っているので 1行目の処理と2行目の処理の並列性が無いし、マスク用の 定数が4バイトの2つ、3バイトの1つ、2バイトの1つで、 どのCPUを想定しているのかは知らないけど、普通は 上の方法のマスク定数より長いコードになるのでは。 24回のshiftが16回のshiftより時間がかかる状況なら 上の方法は好ましくないし、エンディアン変換のビット長が 64bitなら152の方法のほうが良いように思うが。
- 154 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 18:34:24 ]
- 普通に共用体でやった方がエレガントで早いと思いますが。。
- 155 名前:デフォルトの名無しさん mailto:sage [2007/02/19(月) 21:49:23 ]
- 正直これでいいや。
ttp://msdn2.microsoft.com/ja-jp/library/a3140177(VS.80).aspx
- 156 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 21:52:40 ]
- >>155
?
- 157 名前:デフォルトの名無しさん [2007/03/01(木) 22:52:20 ]
- あげ
- 158 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 06:17:18 ]
- 任意のビット数のシフトやローテートてなんで1クロックで実行できねーの?
連続した場合ね。
- 159 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 00:34:10 ]
- 1024bitとか?
- 160 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 08:22:35 ]
- そもそも1クロックで実行っていつの時代のどのCPUの話だよ
30年前の8bit時代から頭の中進歩してないオジサマ丸出しだねw しかも昔の8bitマイコンだって命令サイクルと実クロックは別物だしね
- 161 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 21:47:22 ]
- なんか言いたいんだろうけど、何を言いたいのかさっぱりわからん。
知ったか厨の典型だな。(w
- 162 名前:デフォルトの名無しさん [2007/04/07(土) 02:22:12 ]
- あげ
- 163 名前:デフォルトの名無しさん [2007/04/29(日) 08:20:14 ]
- a
- 164 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 10:38:15 ]
- 1Bit CPUの可能性について語れないのは素人。
- 165 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 10:44:47 ]
- cmos 4000 シリーズの事か?
- 166 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 10:52:16 ]
- MC14500 か
- 167 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 12:29:58 ]
- コネクションマシンか?
- 168 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 18:46:24 ]
- バイトの縛りがうざいんだよ
- 169 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 02:15:38 ]
- 22時以降はダメとか?
- 170 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 07:39:02 ]
- ざぶんとん
- 171 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:17:24 ]
- >どっちかのbitが立ってることを確認するために
>if(hoge & 0x000000C0) >みたいな書き方出来ると思うのですが >両方のbitが立ってることを確認したければ >if(hoge & 0x000000C0 == 0x000000C0) >って書くしか方法ないですか? 以下から正しいものを選べ 1) if(hoge & 0x000000C0 & 0x000000C0) 2) if((hoge & 0x000000C0) & 0x000000C0) 3) if(!((hoge & 0x000000C0) ^ 0x000000C0)) 4) if((hoge & 0x00000080) && (hoge & 0x00000040)) 5) if(~(hoge | ~0x000000C0)) 6) if(~(~hoge | ~0x000000C0))
- 172 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:20:41 ]
- (hoge & 0x000000C0) == 0x000000C0 が一番速いだろう。
- 173 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:30:47 ]
- #include <stdio.h>
#define MASK 0x0000C0C0 int bittesta(int hoge) { if((hoge & MASK) == MASK){ return 1; }else{ return 0; } } int bittestb(int hoge) { if(!((hoge & MASK) ^ MASK)){ return 1; }else{ return 0; } } int main(int ac, char **av) { int hoge = 1234; bittesta(hoge); bittestb(hoge); return 0; }
- 174 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:31:55 ]
- _bittesta:
pushl %ebp movl %esp, %ebp subl $4, %esp movl 8(%ebp), %eax andl $49344, %eax cmpl $49344, %eax jne L10 movl $1, -4(%ebp) jmp L9 L10: movl $0, -4(%ebp) L9: movl -4(%ebp), %eax leave ret _bittestb: pushl %ebp movl %esp, %ebp subl $4, %esp movl 8(%ebp), %eax andl $49344, %eax cmpl $49344, %eax jne L13 movl $1, -4(%ebp) jmp L12 L13: movl $0, -4(%ebp) L12: movl -4(%ebp), %eax leave ret
- 175 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 20:34:17 ]
- >>172 が正解なんだけど
いまどきのコンパイラは >>171 (3) で書いても 最適化されて >>172 になってるんだね
- 176 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 22:06:56 ]
- ど素人です。質問があります。
例えば1か0が格納される変数(Aと仮定)のスイッチ切り替えの場合 【例@】 if(A == 1) { A = 0; } else { A = 1; } 【例A】 A = A ^ (0 + 1); この場合早いのはやはり例Aなのでしょうか?
- 177 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 22:13:48 ]
- A ^= 1;
が速い。まあ、例2と同じだあな。
- 178 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 22:18:35 ]
- >>177
有難うございました。
- 179 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 22:24:42 ]
- SUBR #n Acc = n-Acc を持ってるCPUだと
A = 1-A のが速かったりするぞ
- 180 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 00:48:43 ]
- >>177,179
いや、今回は1と0で設定されてるけどほんとは3と5かもしれないだろ そういう場合ってやっぱA ^= 1;とかA = 1-Aより A ^= (3 + 5);のほうが正解なんじゃないか? 1と0ならA = 1-Aとかでもいいんだけどな
- 181 名前:・∀・)っ-○◎● mailto:sage [2007/05/04(金) 00:52:14 ]
-
A ^= 8; ???????????????????????????? Aには1か0が格納されるって最初の条件で確定してるんだが
- 182 名前:180 mailto:sage [2007/05/04(金) 00:53:56 ]
- >>181
汎用性を高めるって意味だよ
- 183 名前:・∀・)っ-○◎● mailto:sage [2007/05/04(金) 00:55:14 ]
- いや8はおかしいだろ常識的に考えて
- 184 名前:180 mailto:sage [2007/05/04(金) 00:55:36 ]
- A変数に1か0だけの設定なら
A ^= 1;でいいと思うが A変数に3か5が入ってる設定だと A ^= 5;じゃダメだろ? だったらどちらにでも応用できる A ^= (1 + 0); A ^= (5 + 3); がいいんじゃないかって話をしたかっただけだ。
- 185 名前:・∀・)っ-○◎● mailto:sage [2007/05/04(金) 00:56:41 ]
- 8じゃ最下位ビットはトグルできません><
- 186 名前:180 mailto:sage [2007/05/04(金) 00:59:14 ]
- じゃあ7だこの野郎
- 187 名前:・∀・)っ-○◎● mailto:sage [2007/05/04(金) 00:59:43 ]
- ちなみに俺の回答は
A = ~A;
- 188 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 01:01:02 ]
- 工エエェェ(´д`)ェェエエ工
- 189 名前:180 mailto:sage [2007/05/04(金) 01:01:45 ]
- 俺は今赤面しながら画面に張り付いてるwwwwwwwwww
確かに8じゃ無理だったwwwwwwwww
- 190 名前:・∀・)っ-○◎● mailto:sage [2007/05/04(金) 01:24:45 ]
- >>187だと「1」にならないね。
仮に全ビット使う場合の話。 信号制御用の1ビットレジスタをこれで操作してたような。 0か1かならこっちのほうが素直か A = !A;
- 191 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 01:59:07 ]
- 3 と 5 のトグルなら A ^= 6; だな。
要するに A ^= (3 ^ 5);
- 192 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 08:32:25 ]
- 拡張して 0,1,2 のトグル a=(a+1) % 3 とか 0〜9 での循環a=(a+1) % 10とかになると途端に難しくなるな
- 193 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 08:50:20 ]
- WORD wに0x0001が含まれていて0x0010が含まれてない、の結果をBOOL bに納める式は
どう書くと一番短いですか?
- 194 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 08:52:03 ]
- b = (w & 0x0011) == 0x0001;
- 195 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 08:59:54 ]
- if ((w && 0x0001) == 0x0001)
{ if ((w && 0x0010) != 0x0010) { b = TRUE; } else { b = FALSE; } }
- 196 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 09:05:23 ]
- >>194
ありがとん
- 197 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 09:17:53 ]
- a:= a +1;
a:= (a+ (a shr 2) ) and 3; これだと 1,2,3の循環になるな
- 198 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 12:09:44 ]
- A ^= (3 ^ 5);
- 199 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 12:19:48 ]
- 1001
1000 0000 0001 0011 0010 0110 0100 0101 0111
- 200 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 12:21:58 ]
- ヾ / < 仮面ライダー555が>
,. -ヤ'''カー、 /Y⌒Y⌒Y⌒Y⌒Yヾ ー―ァ /r⌒|:::|⌒ヾ _ノ オ{( |0| )} オオオォォォォ!!!!! __,ヽ,ヾ,_|V|,_ノ、/ ,r-,,= ,゛==ゝ_ViV_ノ~i/ 〃 `ー―-、 / /⌒`//´⌒c/^^^ )))))))))) ,,―イ {ー''"~{ {~゛`ー`/'`'~/ー--―' )) ,./ゝ_/∧ゝ_ノ ノ ー''" |ロ ロ | 人,_,人,_,人,_,人,_,人,_, <適当な番号をゲット!!>
- 201 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 15:08:21 ]
- あまり適当な番号には見えない件について
- 202 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 16:12:03 ]
- 0xC8
- 203 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 16:43:42 ]
- 丁度256円になります。
- 204 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 16:47:10 ]
- ポイントはお付きしますか?
- 205 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 16:50:33 ]
- いいえ、彼はペンです。
- 206 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 02:12:41 ]
- char v;
if(v){ ..... } vのビット列が [10000000] と [00000001] ではやっぱり前者の方が早いんだろうか
- 207 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 02:21:08 ]
- 最適化や前後のループや分岐予測によるだろ…常識的に考えて…
- 208 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 02:37:55 ]
- 嫌な答え方だな
- 209 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 03:18:03 ]
- 感じないわ。
- 210 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 03:39:36 ]
- 痛くないわ。
- 211 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 11:01:09 ]
- 五寸釘はイヤだろ・・・・常考
- 212 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 11:21:15 ]
- ごっすんごっすん五寸釘ー
- 213 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 12:16:52 ]
- そっちかよクソ
- 214 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 17:55:55 ]
- あいーん
- 215 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:23:54 ]
- 効率的では無いけど少々トリッキーなJavaのコード。数列の解説は面倒なので略。
float[] p = { 0.000f, 0.000f, 1.000f, 5.373f, 0.000f, 0.998f, 4.989f, 0.000f, 1.075f, 5.000f, 0.000f, 0.000f, 0.000f, 5.373f, 0.998f, 4.865f, 4.865f, 0.951f, 4.970f, 2.370f, 1.160f, 5.000f, 1.326f, 0.000f, 0.000f, 4.989f, 1.075f, 2.370f, 4.970f, 1.160f, 3.700f, 3.700f, 0.179f, 4.473f, 2.598f, 0.000f, 0.000f, 5.000f, 0.000f, 1.326f, 5.000f, 0.000f, 2.598f, 4.473f, 0.000f, 3.536f, 3.536f, 0.000f, }; float[] q = new float[384]; int i,j,k; for(i=0;i<8;i++) { k = (((i>>>2)^(i>>>1)^i)&1)*12; for(j=0;j<16;j++) { q[i*48+j*3+0] = ((i&1)==0)?p[(j^k)*3+0]:-p[(j^k)*3+0]; q[i*48+j*3+1] = ((i&2)==0)?p[(j^k)*3+1]:-p[(j^k)*3+1]; q[i*48+j*3+2] = ((i&4)==0)?p[(j^k)*3+2]:-p[(j^k)*3+2]; }} for(i=0;i<32;i++) { for(j=0;j<12;j++) { System.out.printf("%+6.3ff,",q[i*12+j]); } System.out.print("\n"); }
- 216 名前:215の出力結果(1/2) mailto:sage [2007/05/14(月) 21:26:12 ]
- +0.000f,+0.000f,+1.000f,+5.373f,+0.000f,+0.998f,+4.989f,+0.000f,+1.075f,+5.000f,+0.000f,+0.000f,
+0.000f,+5.373f,+0.998f,+4.865f,+4.865f,+0.951f,+4.970f,+2.370f,+1.160f,+5.000f,+1.326f,+0.000f, +0.000f,+4.989f,+1.075f,+2.370f,+4.970f,+1.160f,+3.700f,+3.700f,+0.179f,+4.473f,+2.598f,+0.000f, +0.000f,+5.000f,+0.000f,+1.326f,+5.000f,+0.000f,+2.598f,+4.473f,+0.000f,+3.536f,+3.536f,+0.000f, -0.000f,+5.000f,+0.000f,-1.326f,+5.000f,+0.000f,-2.598f,+4.473f,+0.000f,-3.536f,+3.536f,+0.000f, -0.000f,+4.989f,+1.075f,-2.370f,+4.970f,+1.160f,-3.700f,+3.700f,+0.179f,-4.473f,+2.598f,+0.000f, -0.000f,+5.373f,+0.998f,-4.865f,+4.865f,+0.951f,-4.970f,+2.370f,+1.160f,-5.000f,+1.326f,+0.000f, -0.000f,+0.000f,+1.000f,-5.373f,+0.000f,+0.998f,-4.989f,+0.000f,+1.075f,-5.000f,+0.000f,+0.000f, +0.000f,-5.000f,+0.000f,+1.326f,-5.000f,+0.000f,+2.598f,-4.473f,+0.000f,+3.536f,-3.536f,+0.000f, +0.000f,-4.989f,+1.075f,+2.370f,-4.970f,+1.160f,+3.700f,-3.700f,+0.179f,+4.473f,-2.598f,+0.000f, +0.000f,-5.373f,+0.998f,+4.865f,-4.865f,+0.951f,+4.970f,-2.370f,+1.160f,+5.000f,-1.326f,+0.000f, +0.000f,-0.000f,+1.000f,+5.373f,-0.000f,+0.998f,+4.989f,-0.000f,+1.075f,+5.000f,-0.000f,+0.000f, -0.000f,-0.000f,+1.000f,-5.373f,-0.000f,+0.998f,-4.989f,-0.000f,+1.075f,-5.000f,-0.000f,+0.000f, -0.000f,-5.373f,+0.998f,-4.865f,-4.865f,+0.951f,-4.970f,-2.370f,+1.160f,-5.000f,-1.326f,+0.000f, -0.000f,-4.989f,+1.075f,-2.370f,-4.970f,+1.160f,-3.700f,-3.700f,+0.179f,-4.473f,-2.598f,+0.000f, -0.000f,-5.000f,+0.000f,-1.326f,-5.000f,+0.000f,-2.598f,-4.473f,+0.000f,-3.536f,-3.536f,+0.000f,
- 217 名前:215の出力結果(2/2) mailto:sage [2007/05/14(月) 21:27:16 ]
- +0.000f,+5.000f,-0.000f,+1.326f,+5.000f,-0.000f,+2.598f,+4.473f,-0.000f,+3.536f,+3.536f,-0.000f,
+0.000f,+4.989f,-1.075f,+2.370f,+4.970f,-1.160f,+3.700f,+3.700f,-0.179f,+4.473f,+2.598f,-0.000f, +0.000f,+5.373f,-0.998f,+4.865f,+4.865f,-0.951f,+4.970f,+2.370f,-1.160f,+5.000f,+1.326f,-0.000f, +0.000f,+0.000f,-1.000f,+5.373f,+0.000f,-0.998f,+4.989f,+0.000f,-1.075f,+5.000f,+0.000f,-0.000f, -0.000f,+0.000f,-1.000f,-5.373f,+0.000f,-0.998f,-4.989f,+0.000f,-1.075f,-5.000f,+0.000f,-0.000f, -0.000f,+5.373f,-0.998f,-4.865f,+4.865f,-0.951f,-4.970f,+2.370f,-1.160f,-5.000f,+1.326f,-0.000f, -0.000f,+4.989f,-1.075f,-2.370f,+4.970f,-1.160f,-3.700f,+3.700f,-0.179f,-4.473f,+2.598f,-0.000f, -0.000f,+5.000f,-0.000f,-1.326f,+5.000f,-0.000f,-2.598f,+4.473f,-0.000f,-3.536f,+3.536f,-0.000f, +0.000f,-0.000f,-1.000f,+5.373f,-0.000f,-0.998f,+4.989f,-0.000f,-1.075f,+5.000f,-0.000f,-0.000f, +0.000f,-5.373f,-0.998f,+4.865f,-4.865f,-0.951f,+4.970f,-2.370f,-1.160f,+5.000f,-1.326f,-0.000f, +0.000f,-4.989f,-1.075f,+2.370f,-4.970f,-1.160f,+3.700f,-3.700f,-0.179f,+4.473f,-2.598f,-0.000f, +0.000f,-5.000f,-0.000f,+1.326f,-5.000f,-0.000f,+2.598f,-4.473f,-0.000f,+3.536f,-3.536f,-0.000f, -0.000f,-5.000f,-0.000f,-1.326f,-5.000f,-0.000f,-2.598f,-4.473f,-0.000f,-3.536f,-3.536f,-0.000f, -0.000f,-4.989f,-1.075f,-2.370f,-4.970f,-1.160f,-3.700f,-3.700f,-0.179f,-4.473f,-2.598f,-0.000f, -0.000f,-5.373f,-0.998f,-4.865f,-4.865f,-0.951f,-4.970f,-2.370f,-1.160f,-5.000f,-1.326f,-0.000f, -0.000f,-0.000f,-1.000f,-5.373f,-0.000f,-0.998f,-4.989f,-0.000f,-1.075f,-5.000f,-0.000f,-0.000f,
- 218 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:53:43 ]
- 誰かエスパーしてくれ
- 219 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 23:11:47 ]
- 新手の荒らしだろ、スルーよろ。
- 220 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:22:46 ]
- k = (((i>>>2)^(i>>>1)^i)&1)*12;
は k = ((i>>>2)&4)*12; と等価じゃない?
- 221 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:24:00 ]
- k = (((i>>>2)^(i>>>1)^i)&1)*12;
は k = ((i>>>2)&1)*12; と等価
- 222 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:25:45 ]
- おいおい、不等号3つって……
- 223 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:56:43 ]
- System.out.printfって何だよ
オブジェクト指向すげえよ
- 224 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:01:14 ]
- >>>220-221
^は排他的論理和、>>>は符号無し右シフト、&は論理積なので、 k=(((i>>>2)^(i>>>1)^i)&1)*12はi=1,2,4,7の時にk=12、i=0,3,5,6の時にk=0となる。 全然等価じゃねーぞ。
|

|