トップページ⇒tech
41コメント13KB

C言語

■ このスレッドは過去ログ倉庫に格納されています
0001CNGNG
つぎの問題が分かりません。どなたか教えてください。

 unsigned 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デフォルトの名無しさんNGNG
>>1を読まずに2ゲトー
0003デフォルトの名無しさんNGNG
ほれみろ、またCの糞スレじゃないか。
0004デフォルトの名無しさんNGNG
>>1を読んでる間に2トラレター
0005デフォルトの名無しさんNGNG
クソスレ立てると絶対に答えてもらえなくなるよ、かわいそうに・・・。
質問スレに行けばよかったのに・・・もう遅いけど。
0006デフォルトの名無しさんNGNG
1000getした
0007デフォルトの名無しさんNGNG
なんかイイ問題のヨカン
0008デフォルトの名無しさんNGNG
これはまた豪快なスレを立てちまったな、>>1は…
0009デフォルトの名無しさんNGNG
勉強することの引き替えに親に養ってもらってるのが学生だろうになぁ。
0010デフォルトの名無しさんNGNG
>>1はフォローすらしないね。
レスをみた途端他のCサイトにでも逝ったのかな
0011デフォルトの名無しさんNGNG
unsigned int bit_reverse(unsigned int n)
{
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デフォルトの名無しさんNGNG
って、ちごうとるやん、鬱
0013デフォルトの名無しさんNGNG
unsigned int bit_reverse(unsigned int n)
{
unsigned int cnt, retVal=0;
for (cnt=0; ; cnt++, n>>=1){retVal |= (n&1);if (cnt==31) break;retVal<<=1;}return retVal;
}
0014デフォルトの名無しさんNGNG
キタ━━━━━━━━━━━━━━━━(。A。)━━━━━━━━━━━━━━━━!!!!!



  /      ├──────┤    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ :::::::::::::::
  | :       |   └└└└└ |    (___________ ___ \::::::::::::::        ::::::::::/
  .| :       |     |:::::::::|::::::::|     \    ゝ|  / └└└└└ヽ\ \:::     ::::::::::::::::::::/
  | :::      | |    |:::::::/:::::::::| |     \ } ∨lll     |     ヽ |  \   :::::::::::::::::/
 .|  ::::    :: | |   ⊂二二::::/| |      |    | |llll|    |     ∨〔     |    ::::::::::::\
  |  :::::::  :::  | |        | | ::     .|     | |lllll|    ヽ      |    |     :::::::::::|
  .|  :::::::::::     |/ |       .|  :::      :|   |.|lllllll;      ヽ     |           :::::::[
  .| :::::::::::::::::: \ ヽ┴ ーー ー|  /  :::::::::::::::::|    |.|llllllllllll;\______ \_______〕          ::::::::}
  ヽ \___ ヽ   ̄ ̄ ̄ ̄  /___/:::|   ∧|lllllllllllllllllllllllllllllllllllllllllllll|          :::::::::{
   \ \゚__/  ̄ / ∧ ヽ:::: \ ゚  /  ::|   | | \ ┌┌┌┌/ .ヽ/   /  、_/  ::::::::}
    ヽ       :::::::::::::::::::::::::::    ̄  :::|   ヽ   '' ̄ ̄ ̄\ _/   /   >  (  ::::::li
     ヽ :::::::::::::/ ̄ ̄ ̄ ̄ ̄ ̄ヽ::::::::::::::::::::::|    ______         ,,,,,,_         /1 ::::::::/
      ヽ :::::::::::/          ヽ:::::::::::::::::/ヾ /   '''\ ',..  ̄=|   ^\''       ::::::/
      ヽ::::::::/            ヽ:::::::::::/  ヽ!     '''ヽ     《     ''| ^!ll   :::::::::/
       ヽ::::/             ヽ:::::/  └  ●    |》    l| ●    》 彡  ::::::::::/
        ∨               ∨     \   __/    ヽ.,,,. __.,./...s  ::::::::/
                               ヽ ̄                ::::::::/
                                !    ______    :::::::|
                               | ...:::::::::|         \   :::::|
                                |  ::::::::|          ヽ ::::::::|
                                \  :::::|           \:::::|
                                  \::::|            \::|

0015デフォルトの名無しさんNGNG
unsigned int bit_reverse(unsigned int n)
{
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デフォルトの名無しさんNGNG
ふむ
0017デフォルトの名無しさんNGNG

図にのるから答えないで欲しい。
0018デフォルトの名無しさんNGNG
単発質問スレに回答をしてはいけません。他の厨に示しが付きません。
質問スレより単発スレの方が回答が早く付くという事例を作ってはいけません。
味を占めた厨が第二、第三の単発スレを生み出し、この板の秩序が崩壊します。
私たちのマターリ平和な板を維持するため、今こそ団結しようではありませんか!
0019デフォルトの名無しさんNGNG
>>1
がんばっ!!!ウンチ漏れそうだけど!
0020デフォルトの名無しさんNGNG
unsigned int bit_reverse(unsigned int n)
{
static unsigned int t[] = { 0x00000000, 0x80000000, 0x40000000, 0xC0000000, ... };
return t[ n ];
}
0021デフォルトの名無しさんNGNG
unsigned int bit_reverse(unsigned int n)
{
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
>>21
アセンブラで書いたすか・・・。
素敵だ。[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
unsigned int bit_reverse(unsigned int n)
{
return n ? bit_reverse(n * 2) * 2 + ((int)n < 0) : n;
}
0025デフォルトの名無しさんNGNG
a<<g<<e
0026デフォルトの名無しさんNGNG
function BitReverse(n:integer):Integer;
begin
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デフォルトの名無しさんNGNG
>>26
integerって符号付では?
符号付の右シフトだと巧くゆかないように思う
0028デフォルトの名無しさんNGNG
どけどけどけじゃまだじゃまだ
0029デフォルトの名無しさんNGNG
>>28
今更こんなスレageるな!
0030デフォルトの名無しさんNGNG
C言語の質問はこっちへ。

C言語なら、俺に聞け! <25>
http://pc.2ch.net/test/read.cgi/tech/1024918442/
0031デフォルトの名無しさんNGNG
C言語の質問はこっちへ。

Cなら、俺に聞け!
http://pc.2ch.net/test/read.cgi/tech/1018668797/
0032デフォルトの名無しさんNGNG
C言語の質問はこっちへ。

C/C++の宿題なら俺にやらせろ!
http://pc.2ch.net/test/read.cgi/tech/1021862587/
0033デフォルトの名無しさんNGNG
C言語の質問はこっちへ。


C/C++/C#なら
http://pc.2ch.net/test/read.cgi/tech/1021169265/
0034デフォルトの名無しさんNGNG
47をbit_reverseして62464にするんだよね。
だとすろと値返すときに
return value >> 16;
なのでは?

32ビット版bit_reverseならする必要ないけど。
そもそも
>    47(=0000 0000 0010 1111)
> 62464(=1111 0100 0000 0000)
って16ビットで例が書いてあるのに
>unsigned intは負の数を扱えない以外は
>intと同じように使うことができ、そのビット長は32である。
って書いてあるところが問題として気に食わないのよね。
まぁ,宿題ってこう云う物なのか!?
0035デフォルトの名無しさんNGNG
だとすろと
0036はじめて、、、NGNG
1.オブジェクト指向型ソフトウェア開発のメリットとデメリットについて

2.Java言語の現状と今後の動向について

上記のレポートを今現在書いてます。
他の人の意見も欲しいと思いネットをみてると、
ここにきました。あまりくわしくないんですけど、
意見などあるかたはメールください。
[email protected]
0037デフォルトの名無しさんNGNG
>>36
メール欄にもアドレス書いてるな。
0038デフォルトの名無しさんNGNG
>36
お前がそんなことやる必要ない。
即、辞めろ。
0039デフォルトの名無しさんNGNG
>>36
1、http://pc3.2ch.net/test/read.cgi/tech/1027983898/
2、http://pc3.2ch.net/test/read.cgi/tech/996848309/
0040はじめて�ANGNG
よめたら駄目ですよ!

2.Java言語の現状と今後の動向について

これがいまいちつかめないんですけど、、、
0041デフォルトの名無しさんNGNG
>>40
正直になれ。「いまいち」じゃなくて「これっぽっちも」だろ。
■ このスレッドは過去ログ倉庫に格納されています