C言語
■ このスレッドは過去ログ倉庫に格納されています
0001C
NGNGunsigned int の数を入力するとその値のビット表現を
逆転する関数bit_reverse()を作れ。
47をビット逆転すると62464となる。
47(=0000 0000 0010 1111)
62464(=1111 0100 0000 0000)
その際逆転する処理はビット演算子(&、|、<<、>>、etc・・・)
を用いること。unsigned intは負の数を扱えない以外は
intと同じように使うことができ、そのビット長は32である。
unsegned int bit_reverse(unsigned int n)
{
・・・・
・・・・
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG質問スレに行けばよかったのに・・・もう遅いけど。
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGレスをみた途端他のCサイトにでも逝ったのかな
0011デフォルトの名無しさん
NGNG{
unsigned int cnt, retVal=0;
for (cnt=0; cnt<31; cnt++, n>>=1, retVal<<=1)
retVal |= (n&1);
return retVal;
}
>unsegned int bit_reverse(unsigned int n)
unsegned ってなんやねん
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG{
unsigned int cnt, retVal=0;
for (cnt=0; ; cnt++, n>>=1){retVal |= (n&1);if (cnt==31) break;retVal<<=1;}return retVal;
}
0014デフォルトの名無しさん
NGNG/ ├──────┤ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ :::::::::::::::
| : | └└└└└ | (___________ ___ \:::::::::::::: ::::::::::/
.| : | |:::::::::|::::::::| \ ゝ| / └└└└└ヽ\ \::: ::::::::::::::::::::/
| ::: | | |:::::::/:::::::::| | \ } ∨lll | ヽ | \ :::::::::::::::::/
.| :::: :: | | ⊂二二::::/| | | | |llll| | ∨〔 | ::::::::::::\
| ::::::: ::: | | | | :: .| | |lllll| ヽ | | :::::::::::|
.| ::::::::::: |/ | .| ::: :| |.|lllllll; ヽ | :::::::[
.| :::::::::::::::::: \ ヽ┴ ーー ー| / :::::::::::::::::| |.|llllllllllll;\______ \_______〕 ::::::::}
ヽ \___ ヽ  ̄ ̄ ̄ ̄ /___/:::| ∧|lllllllllllllllllllllllllllllllllllllllllllll| :::::::::{
\ \゚__/  ̄ / ∧ ヽ:::: \ ゚ / ::| | | \ ┌┌┌┌/ .ヽ/ / 、_/ ::::::::}
ヽ :::::::::::::::::::::::::::  ̄ :::| ヽ '' ̄ ̄ ̄\ _/ / > ( ::::::li
ヽ :::::::::::::/ ̄ ̄ ̄ ̄ ̄ ̄ヽ::::::::::::::::::::::| ______ ,,,,,,_ /1 ::::::::/
ヽ :::::::::::/ ヽ:::::::::::::::::/ヾ / '''\ ',..  ̄=| ^\'' ::::::/
ヽ::::::::/ ヽ:::::::::::/ ヽ! '''ヽ 《 ''| ^!ll :::::::::/
ヽ::::/ ヽ:::::/ └ ● |》 l| ● 》 彡 ::::::::::/
∨ ∨ \ __/ ヽ.,,,. __.,./...s ::::::::/
ヽ ̄ ::::::::/
! ______ :::::::|
| ...:::::::::| \ :::::|
| ::::::::| ヽ ::::::::|
\ :::::| \:::::|
\::::| \::|
0015デフォルトの名無しさん
NGNG{
int i;
unsigned int b;
for(b = 0, i = 1;i < 32;i++, n >>= 1, b <<= 1;)
b |= (n & 1)?1:0;
return b;
}
さき越されてた・・うつだしのう
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG図にのるから答えないで欲しい。
0018デフォルトの名無しさん
NGNG質問スレより単発スレの方が回答が早く付くという事例を作ってはいけません。
味を占めた厨が第二、第三の単発スレを生み出し、この板の秩序が崩壊します。
私たちのマターリ平和な板を維持するため、今こそ団結しようではありませんか!
0019デフォルトの名無しさん
NGNGがんばっ!!!ウンチ漏れそうだけど!
0020デフォルトの名無しさん
NGNG{
static unsigned int t[] = { 0x00000000, 0x80000000, 0x40000000, 0xC0000000, ... };
return t[ n ];
}
0021デフォルトの名無しさん
NGNG{
unsigned int r;
__asm{
mov ecx, 32
mov ebx, n
xor eax, eax
LPS:
rcr ebx, 1
rcl eax, 1
loop LPS
mov r, eax
}
return r;
}
0022デフォルトの名無しさん
NGNGアセンブラで書いたすか・・・。
素敵だ。[w
0023デフォルトの名無しさん
NGNGあらあら、宿題なのね?
http://pc.2ch.net/test/read.cgi/tech/1020785918/
宿題以外の C 言語に関する質問はここにどうぞ。
C言語なら、俺に聞け! <20>
http://pc.2ch.net/test/read.cgi/tech/1021459016/
0024デフォルトの名無しさん
NGNG{
return n ? bit_reverse(n * 2) * 2 + ((int)n < 0) : n;
}
0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNGbegin
n:=((n shl 1) and $AAAAAAAA) or (((n shr 1) and (not $AAAAAAAA)));
n:=((n shl 2) and $CCCCCCCC) or (((n shr 2) and (not $CCCCCCCC)));
n:=((n shl 4) and $F0F0F0F0) or (((n shr 4) and (not $F0F0F0F0)));
n:=((n shl 8) and $FF00FF00) or (((n shr 8) and (not $FF00FF00)));
n:=((n shl 16) and $FFFF0000) or (((n shr 16) and (not $FFFF0000)));
Result:=n;
end;
0027デフォルトの名無しさん
NGNGintegerって符号付では?
符号付の右シフトだと巧くゆかないように思う
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNG今更こんなスレageるな!
0030デフォルトの名無しさん
NGNGC言語なら、俺に聞け! <25>
http://pc.2ch.net/test/read.cgi/tech/1024918442/
0031デフォルトの名無しさん
NGNGCなら、俺に聞け!
http://pc.2ch.net/test/read.cgi/tech/1018668797/
0032デフォルトの名無しさん
NGNGC/C++の宿題なら俺にやらせろ!
http://pc.2ch.net/test/read.cgi/tech/1021862587/
0033デフォルトの名無しさん
NGNGC/C++/C#なら
http://pc.2ch.net/test/read.cgi/tech/1021169265/
0034デフォルトの名無しさん
NGNGだとすろと値返すときに
return value >> 16;
なのでは?
32ビット版bit_reverseならする必要ないけど。
そもそも
> 47(=0000 0000 0010 1111)
> 62464(=1111 0100 0000 0000)
って16ビットで例が書いてあるのに
>unsigned intは負の数を扱えない以外は
>intと同じように使うことができ、そのビット長は32である。
って書いてあるところが問題として気に食わないのよね。
まぁ,宿題ってこう云う物なのか!?
0035デフォルトの名無しさん
NGNG0036はじめて、、、
NGNG2.Java言語の現状と今後の動向について
上記のレポートを今現在書いてます。
他の人の意見も欲しいと思いネットをみてると、
ここにきました。あまりくわしくないんですけど、
意見などあるかたはメールください。
[email protected]
0037デフォルトの名無しさん
NGNGメール欄にもアドレス書いてるな。
0038デフォルトの名無しさん
NGNGお前がそんなことやる必要ない。
即、辞めろ。
0039デフォルトの名無しさん
NGNG1、http://pc3.2ch.net/test/read.cgi/tech/1027983898/
2、http://pc3.2ch.net/test/read.cgi/tech/996848309/
0040はじめて�A
NGNG2.Java言語の現状と今後の動向について
これがいまいちつかめないんですけど、、、
0041デフォルトの名無しさん
NGNG正直になれ。「いまいち」じゃなくて「これっぽっちも」だろ。
■ このスレッドは過去ログ倉庫に格納されています