ぼるじょあがC/C++の宿題を片づけますYO! 68代目at TECHぼるじょあがC/C++の宿題を片づけますYO! 68代目 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト650:デフォルトの名無しさん 07/12/11 16:31:53 符号無し整数を左右にシフトした値が、2のべき乗での乗算や除算と等しくなることを確認するプログラムを作成せよ 誰か助けて 651:デフォルトの名無しさん 07/12/11 19:45:52 hoge1 = x >> 1; hoge2 = x << 1; hoge3 = x * 2; hoge4 = x / 2; hoge1から4をprintfで確認してみてはどうだろう。 xはunsigned int型変数で値は適当で構わない。 652:デフォルトの名無しさん 07/12/11 20:14:14 >>650 たまたまサンプルしたものが一致するだけじゃ「確認」って言わないんだろうな。 やっぱ0から計算できる限界までシフトと乗算、除算が一致することを 全部調べるんだろうね。 653:デフォルトの名無しさん 07/12/12 09:59:40 #include <stdio.h> #include <limits.h> int main(void){ unsigned int i=0; while(1){ if((i<<1)!=(i*2)){ printf("%uで乗算と左シフトが異なる。\n",i); break; } if((i>>1)!=(i/2)){ printf("%uで除算と右シフトが異なる。\n",i); break; } if(i==UINT_MAX){ printf("%uまで同じだと確認した。\n",i); break; } ++i; } return 0; } 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch