【高速化】ビット演算 0x02

このエントリーをはてなブックマークに追加
932デフォルトの名無しさん:2008/10/22(水) 00:53:09
なんで指輪物語スレになってんの・・・
933デフォルトの名無しさん:2008/10/22(水) 00:56:14
>>931
tlotr

ググれば一目瞭然。
934デフォルトの名無しさん:2008/10/22(水) 04:08:26
The Lord of the Rings だし。
935デフォルトの名無しさん:2008/10/22(水) 08:55:55
Lordsな。両方複数系。
936デフォルトの名無しさん:2008/10/22(水) 12:18:22
http://www.lordoftherings.net/
つまり、オフィシャルサイトは間違っていると。
937デフォルトの名無しさん:2008/10/22(水) 12:34:52
>>935
Lordが正しい。
>>936
「the」がないのは、ドメイン取得の問題じゃないかな。
938デフォルトの名無しさん:2008/10/22(水) 16:44:03
何時の間にか指輪スレ化している流れを豚切。

man gawk を見ると
lshift, rshift って内部関数が実装されているんだな。
939デフォルトの名無しさん:2008/10/22(水) 21:50:42
>>925もVC++独自のローテート関数なわけだが。
指輪とはあんまり関係ない。
940デフォルトの名無しさん:2008/10/22(水) 21:59:17
指輪物語とまで云うならthe fellowship of the ringだろ
941,,・´∀`・,,)っ-○◎○:2008/10/23(木) 01:44:47
lotrをロートルと呼ぼうのスレはここですか?

>>940それ第1章の副題
942デフォルトの名無しさん:2008/10/23(木) 08:38:48
>>941
何…だと……?
943デフォルトの名無しさん:2008/10/25(土) 00:00:41
>>933
lotr の検索結果 約 9,330,000 件中 1 - 10 件目 (0.15 秒)
tlotr の検索結果 約 69,400 件中 1 - 10 件目 (0.17 秒)

一体何が一目瞭然なんだか。

>>937
> 「the」がないのは、ドメイン取得の問題じゃないかな。

レスするなら、URL だけじゃなくてちゃんとページ見ろよ。

省略形で定冠詞を省略するのはごく普通。
2個あるうちの片っぽだけというのはちょっと違和感あるけど。
944デフォルトの名無しさん:2008/10/25(土) 01:12:27
流れぶったぎって次スレ案

【指輪】ビット演算 0x03【物語】
945デフォルトの名無しさん:2008/10/25(土) 01:13:31
いや、つまんないから
946デフォルトの名無しさん:2008/10/25(土) 01:17:20
つーかもうスレ自体不要
947デフォルトの名無しさん:2008/10/25(土) 17:26:25
>>944
これはコラだね、俺は騙されんよ。
948デフォルトの名無しさん:2008/10/25(土) 18:44:44
949デフォルトの名無しさん:2008/10/25(土) 18:53:14
>>948
>947
950デフォルトの名無しさん:2008/10/25(土) 21:52:57
951デフォルトの名無しさん:2008/10/26(日) 20:50:31
>>943
それは省略形であって正式ではない。
テレビジョンよりテレビの方がヒットするのは当たり前だろ。アホか。
952デフォルトの名無しさん:2008/10/26(日) 21:00:55
0を移動していくシフト演算っていい方法ある?

111111011

111110111

111101111

111011111

こう言う感じで
953デフォルトの名無しさん:2008/10/26(日) 21:02:22
a << 1
a | 1
954デフォルトの名無しさん:2008/10/26(日) 21:06:31
>>953
速レスサントス
955,,・´∀`・,,)っ-●◎○:2008/10/26(日) 21:10:29
逆に考えるんだ
1のほうを立てて

00000100

00001000

00010000

00100000

参照するときに反転すればいいと考えるんだ
956デフォルトの名無しさん:2008/10/26(日) 23:24:33
957デフォルトの名無しさん:2008/10/26(日) 23:41:34
>>951
> それは省略形であって正式ではない。

一体何を言ってるんだ?

> テレビジョンよりテレビの方がヒットするのは当たり前だろ。アホか。

アホはお前だよ、単語の区切ぐらい見てるだろ。

yaho の検索結果 約 2,580,000 件中 1 - 10 件目 (0.06 秒)
yahoo の検索結果 約 2,330,000,000 件中 1 - 10 件目 (0.08 秒)

そもそも、どうやって「ググれば一目瞭然」なのか >>933 に聞けよ、クズ。
958デフォルトの名無しさん:2008/10/26(日) 23:54:28
マジで>>944>>946でいいような気がしてきた
もうどうでもいいよ
959デフォルトの名無しさん:2008/10/27(月) 00:08:36
それ省略になってないし
960デフォルトの名無しさん:2008/10/29(水) 11:21:19
>一体何を言ってるんだ?
あの文章に対してこんな事言ってるようじゃ
やはり>>957が真のアホと言わざるを得ない
961デフォルトの名無しさん:2008/10/29(水) 12:11:34
何?悔しかったの?w
962デフォルトの名無しさん:2008/10/29(水) 22:03:47
  _..,,.,,.
  「r',. 、
 d ´c`/ ちくしょう・・・
  i ' ∋

ぉち 彡 ,.-,ニユ、
ぉ く .三  { ,.= r、
|し 三 (6' r',ニ7
|ょ 三. | !| { {
|お 三. | ミ‐ニ)
! ! ぉ ミ !   {
963デフォルトの名無しさん:2008/10/29(水) 22:42:12
>>960
>> テレビジョンよりテレビの方がヒットするのは当たり前だろ。アホか。

いや〜、賢いねぇ。(w
964デフォルトの名無しさん:2008/11/02(日) 13:18:15
よく>>751-752の課題を見ると、aが整数だとはどこにも書いてなかったな。
だから、>>763の方法で計算できるのは、aに近い整数値でしかない。
それに、渡さされる2^aの値が整数かどうかも記載されていないな。

ビット演算だから常に整数という誤認があったかもしれん。
まあ、小数点以下の計算も整数演算の延長でしかないから問題ないけど。
965デフォルトの名無しさん:2008/11/05(水) 11:24:39
32bit整数でビットが立ってる最上位のビット以下を全部立たせる処理で
int fill(int n){
  n |= n>>1;
  n |= n>>2;
  n |= n>>4;
  n |= n>>8
  n |= n>>16;
  return n;
}
てのを作ってみたんだが、まだ速くできるかな?てか、この処理に名前ってある?
966デフォルトの名無しさん:2008/11/05(水) 14:28:15
>>965
アセンブラ使っていいなら2命令で終わり。
967デフォルトの名無しさん:2008/11/05(水) 18:04:27
それ無しでw
968デフォルトの名無しさん:2008/11/05(水) 18:38:44
gccの拡張使っていいなら
int fill(int n) {
return n ? (~0u >> __builtin_clz(n)) : 0;
}
969デフォルトの名無しさん:2008/11/05(水) 20:23:00
>>968 それって結局どんなコードになってるんですか?
970デフォルトの名無しさん:2008/11/05(水) 21:24:26
bsr
971デフォルトの名無しさん:2008/11/05(水) 21:55:59
n|n-1で行けない?
n=0の時上手くいかないだろうけど。
972デフォルトの名無しさん:2008/11/05(水) 22:00:56
それでうまくいくのnが2のべき乗のときだけじゃない?

973デフォルトの名無しさん:2008/11/05(水) 22:04:21
4(or8)毎に処理するとか?
974デフォルトの名無しさん:2008/11/05(水) 22:26:37
bsrってaddとかと同じレベルの命令?その命令って最近のCPUにはどれでも入ってるって言うのかい?
975デフォルトの名無しさん:2008/11/05(水) 22:58:48
環境に依存するけど、単にn>>31でも良いのでは?

環境依存しないようにするなら、unsignedをつけて
>>971にandをかませば良いと思う。

unsigned int fill(unsigned int n) {
unsigned int a;
a = n & 0x80000000ul;
return a & (a - (a >> 31))
}

ただし、MSBが1でないときに何を返したいかによってはダメだけど
976デフォルトの名無しさん:2008/11/05(水) 23:01:15
>>975
違った
return a | (a-(a >> 31));ね
977デフォルトの名無しさん:2008/11/05(水) 23:32:00
31の人気に嫉妬
978デフォルトの名無しさん:2008/11/06(木) 00:25:46
>>975-976
顔を洗って出直してこい。
979デフォルトの名無しさん:2008/11/06(木) 08:48:03
>>977
ほんとにそうだな。
>>976のようにスペースを入れるとよい。
980デフォルトの名無しさん:2008/11/06(木) 22:03:20
たとえば、0x00008080 を
>>976
で計算すると
0x00008080
に、
>>965
で計算すると
0x0000ffff
になる。
981デフォルトの名無しさん
>>978
>>980
理解した。出直す。