07/10/03 00:27:59
>>641
> [10101010]を右に1ビットシフトした場合
> [10010101]になるか[01010101]になるかは処理系依存
(URLリンク(proger.blog10.fc2.com))
> C言語の規格として、算術シフトか論理シフトかは不定
うそ。規格では次のようになっている。ISO/IEC 9899, 1999 より:
> 6.5.7
> The result of E1 >> E2 is E1 right-shifted E2 bit positions.
> If E1 has an unsigned type or if E1 has a signed type and a
> nonnegative value, the value of the result is the integral
> part of the quotient of E1 / 2^E2. If E1 has a signed type
> and a negative value, the resulting value is implementation-defined.
つまり、E1 が unsigned であるか、もしくは signed かつ E1 ≧ 0 のときに
限って右シフトの動作は定められており、それ以外は implementation-defined。
すなわち、論理シフトやら算術シフトの範囲を超えて処理系の自由。
644:デフォルトの名無しさん
07/10/03 00:58:12
負数の右シフトは値がぶっ飛んだって問題ないでOK?
645:デフォルトの名無しさん
07/10/03 00:59:42
日本語でおk
646:デフォルトの名無しさん
07/10/03 02:29:31
そもそも負って言っても2進数で表すと、どういう表現になるか?
考えてみよー
647:デフォルトの名無しさん
07/10/03 03:04:07
[1] 授業単元:
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 10月4日22:00まで
[5] その他の制限: ありません
大変お手数ですが、よろしくお願いいたします
648:デフォルトの名無しさん
07/10/03 05:48:29
>>647
問題1
#include <stdio.h>
#include <math.h>
int fac(int n) { return n==1 ? 1 : n * fac(n-1); }
int geo(int a, int r, int n) { return n==1 ? a : geo(a, r, n-1) * (pow(r, n) - 1) / (pow(r, n-1) - 1); }
int fib(int n) { return n==1 || n==2 ? 1 : fib(n-1) + fib(n-2); }
double a[] = { 1, 2, 3, 4, 5};
double hor(double x, int n) { return n==0 ? a[n] : hor(x, n-1) * x + a[n]; }
int main(void)
{
printf("10! = %d\n", fac(10));
printf("2^0 + 2^1 + 2^2 + ... + 2^9 = %d\n", geo(1, 2, 10));
printf("fibonacci 20: %d\n", fib(20));
printf("f(2) = %.2f\n",hor(2, 4));
return 0;
}
649:デフォルトの名無しさん
07/10/03 08:58:37
>>646
考える前に仕様書を読んでくれ。6.2.6.2 に書いてあるから。要点は
・value bits / padding bits / sign bit からなる。
・どこの bit が value bits/padding bits/sign bit であるかは処理系定義。
・sign bit が 0 のときは正の数,1 のときは負の数を表現する。
・数表現が「絶対値と符号,二の補数,一の補数」のどれかは処理系定義。
650:デフォルトの名無しさん
07/10/03 09:14:49
>>631
> 1バイトが8ビットとは限らない
それよりもこれについて悔しく
651:デフォルトの名無しさん
07/10/03 09:19:45
知らなくても普通は問題ないが、そういう特殊な環境もあるらしい。
652:デフォルトの名無しさん
07/10/03 09:22:07
やな環境だなぁ。そんな環境を作っている奴、使っている奴は確実に変わり者。
653:デフォルトの名無しさん
07/10/03 09:25:09
身の回りが世界だと思ってるほうが後々痛い目にあうしなぁ・・・
654:デフォルトの名無しさん
07/10/03 09:29:54
1バイトが7ビットとか・・・ぷっ・・・ぷぷぷっ・・・ぷぅ~~~(屁)が出ちゃうぜ
655:デフォルトの名無しさん
07/10/03 09:32:52
650のバカが突っ込んだつもりで不勉強を晒しただけだな。
656:デフォルトの名無しさん
07/10/03 09:41:06
というわけで (UINT_MAX-UINT_MIN) の数値からunsigned intのビット数をどうにかして得てからやったほうが無難なときもあるよ,と
657:デフォルトの名無しさん
07/10/03 09:52:48
CHAR_BIT@limits.h
658:デフォルトの名無しさん
07/10/03 09:56:42
>>654
CHAR_BITは8以上と定められているので、流石にそれではISO準拠を名乗れない。
659:デフォルトの名無しさん
07/10/03 10:02:58
>>655
っつかお前さっきっから偉そうにうぜぇよ?詰まらん突込みに必死になりすぎw
んなの知っててわざとお前みたいなでしゃばりに答えさせているだけだろ。
ほんっと、最近うぜぇガキが増えたな。
>>653
>>651
>>649
>>643
↑こいつキモイ
660:デフォルトの名無しさん
07/10/03 10:04:26
655 名前:デフォルトの名無しさん 投稿日:2007/10/03(水) 09:32:52
650のバカが突っ込んだつもりで不勉強を晒しただけだな。
650のバカが突っ込んだつもりで不勉強を晒しただけだな。
650のバカが突っ込んだつもりで不勉強を晒しただけだな。
↑バカとか言っているし、なんだこいつ?不勉強だってw
>>650には知らないとか存在しないとは書かれていない。
しかも「悔しく」ってボケているところに気づかない2ちゃん初心者ワロスw
モロに釣られたな、このでしゃばり、知識をひけらかしたい厨房。
653 名前:デフォルトの名無しさん 投稿日:2007/10/03(水) 09:25:09
身の回りが世界だと思ってるほうが後々痛い目にあうしなぁ・・・
身の回りが世界だと思ってるほうが後々痛い目にあうしなぁ・・・
身の回りが世界だと思ってるほうが後々痛い目にあうしなぁ・・・
661:デフォルトの名無しさん
07/10/03 10:06:54
>>656
UINT_MINは存在しない。
存在したとしても常に0だろうし。
662:デフォルトの名無しさん
07/10/03 10:07:36
URLリンク(ja.wikipedia.org)(%E6%83%85%E5%A0%B1)
> 初期のコンピューターでの1バイトは6ビットである(英文文字(キャラクタ)コードが
> 源であった)。1バイトを7ビットや9ビットとして扱うコンピュータもあり
> (DECのPDP-10、NECのACOS-6など)、このため情報通信の分野では
> 常に8ビットを表すために、バイトではなくオクテットと呼ぶのが適切である。
さてと、どっちが不勉強の無知を晒したか、分かったよな?8ビットを1バイトとしない環境があるとしても
それはバイトではなく 何と 言うでしょう~~か?ったく、知ったかのバカが無知を晒したよw
>>655 >>655 >>655 >>655 >>655 >>655 <こいつなw
663:デフォルトの名無しさん
07/10/03 10:08:37
>>661
いい加減知ったかはうるさいよ
>>655のバカさんw
>>651 >>653
664:デフォルトの名無しさん
07/10/03 10:11:32
なんでもかんでも例外をキャッチするなよ
しかもバグってるし…
665:デフォルトの名無しさん
07/10/03 10:13:43
良い感じに水掛け論になってきたなwwwwwwwwwwwwww
666:デフォルトの名無しさん
07/10/03 10:15:08
>>661
URLリンク(www.google.co.jp)
っつか、ほんまバカにバカって言われるとなんとも。まぁ、どっちが知識があるとか
競い合っているようじゃまだまだ子供だな。ちゃんと調べようぜ?
UINT_MINが存在するしないを一個人が決めて良いもんだろうか?
強いて決めるなら、って話なら分かる。
667:デフォルトの名無しさん
07/10/03 10:17:45
>>655さんよぉ、とっとと謝罪してくれないかねぇ?どこが バカ なのか説明してくれ。
突っ込んだ質問にさも知ったような口で答えたつもりが、相手が無知だと勘違いして
墓穴を掘るとは・・・敢えて突っ込まれて正確に、事細かに説明できないなら黙ってた方が良いよ。
あと、ここ、宿題スレだから。続きがやりたいなら別の質問関連のスレで頼むわ。
668:デフォルトの名無しさん
07/10/03 10:19:18
30分かけて一生懸命調べてからファビョってるところが笑える
669:デフォルトの名無しさん
07/10/03 10:21:53
>>662
・1バイトは通常8ビットであり、古くは6ビット、7ビット、9ビットの物が存在した。
・よって「常に8ビット」を表すために情報通信分野ではオクテットという用語がある。
その機械で1バイトが8ビット以外と定められているのなら、バイト以外ありえないが。
まさかオクテットだなどと言うまい?
670:デフォルトの名無しさん
07/10/03 10:22:24
>>668
負け犬の遠吠え乙w 正確な説明も出来ないくせに他人をバカ呼ばわりしてんじゃねーよ
671:デフォルトの名無しさん
07/10/03 10:23:54
>>669
問題はそこじゃない。>>650が無知だったという証拠は?
詳しくと突っ込まれて答えたのがそうでない環境があるってことだけだろ?
そんなの知ってんだよ、こっちは情報関係の分野を専攻してたからねぇ。
具体的に答えたのはむしろボケた俺の方だろ?w
672:デフォルトの名無しさん
07/10/03 10:26:12
いつになったら中途半端な知識で突っ込んで、指摘されたら逆切れ連投&釣り宣言の馬鹿コンボを
やめてくれるんだろう。
何回このパターン見たことか。
673:デフォルトの名無しさん
07/10/03 10:27:56
っつか、マジでスレ違いだし、ここらで俺が結論づけておくわ。
>>655のバカが突っ込んだつもりで不勉強を晒しただけだな。
他人をバカ呼ばわりする前に自分の知ったかな不十分な知識で偉そうにしていて
相手を勝手に無知、不勉強にするな。調べもしない奴こそいい加減。
悪いがこっちは調べたんじゃなくて知ってたが、敢えて誰もが見られる文献に
リンクをしただけ。普通は自分で調べるだろ、調べる奴は。
674:デフォルトの名無しさん
07/10/03 10:36:35
>>650,652,654,659,660,662,663,666,667,670,671,673
相変わらず恐ろしいほどの瞬発力だ
675:デフォルトの名無しさん
07/10/03 10:45:04
>>672
まあ、わかりやすいから見かけたら即あぼーんで対処するしかないな。
馬鹿は馬鹿である引け目があるが故に馬鹿と指摘されると馬鹿のように怒り始めるから
あまり馬鹿にしてやらないほうが良い。馬鹿にも馬鹿なりの自尊心というやつがあるの
だろう。本当に馬鹿ではなく自分に絶対の自信があるのなら、馬鹿にされても聞き流せ
るはずだから、本来はとても馬鹿馬鹿しい事だが。まあ、わざわざ相手して馬鹿をみる
こともない。
676:デフォルトの名無しさん
07/10/03 10:46:32
沸きすぎワロタww
677:デフォルトの名無しさん
07/10/03 10:50:16
久々に覗いて見たらまたいつもの人か
相変わらずだなここも
678:デフォルトの名無しさん
07/10/03 13:28:34
ここの板もいい加減ID制にして欲しいよ
あぼーんするのが面倒だ
679:デフォルトの名無しさん
07/10/03 15:18:03
つスレリンク(tech板)
680:デフォルトの名無しさん
07/10/03 15:36:19
別にIDにしなくてもいいや、いい加減慣れた
長くても一日放置すれば飽きるみたいだし
681:デフォルトの名無しさん
07/10/03 23:37:15
[1] 授業単元:C++プログラミング
[2] 問題文(含コード&リンク):
「年(西暦)」「月」を入力したら,その月のカレンダーを表示するプログラムを作成しなさい。ただし,下記の条件を満たすものとする。
【条件】
(1)カレンダークラスを作成し,main関数でカレンダークラスの実体を生成し,カレンダークラス内のメンバ関数(show関数)を呼び出してカレンダーを表示する。
(2)カレンダークラスはカプセル化されていること。
(3)カレンダー表示には,年,月および曜日,日を表示すること。
(4)「閏年」「祝日」「六曜」「節句」「二十四節気」の表記を可能にする。
(5)上記以外については自由に作成してよい。
[3] 環境
[3.1] OS: Windows VISTA or XP
[3.2] visual studio 2005
[3.3] 言語: C++
[4] 期限: 2007/10/5まで。
[5] その他の制限: 特になし
よろしくお願いします。
682:デフォルトの名無しさん
07/10/03 23:43:05
>>681
「六曜」の計算式plz
683:デフォルトの名無しさん
07/10/04 00:06:49
>>682
(月+日)÷6=?…あまり
大安 0
赤口 1
先勝 2
友引 3
先負 4
仏滅 5
例:
十五夜(8月15日) : 8+15=23, 23÷6=3あまり5→仏滅
十三夜(9月13日) : 9+13=22, 22÷6=3あまり4→先負
七夕(7月7日): 7+7=14, 14÷6=2あまり2→先勝
684:デフォルトの名無しさん
07/10/04 00:11:44
>>683
六曜は月の暦(太陰暦)だから太陽暦での月の途中でリセットされるよ
685:デフォルトの名無しさん
07/10/04 00:25:37
やべぇ、5年もホテルでバイトしてて六曜が重要だったのに
そんな単純な計算式で出るなんて初めて知った・・・
686:デフォルトの名無しさん
07/10/04 00:36:50
ラブホか
687:デフォルトの名無しさん
07/10/04 00:44:54
(; ・`д・´)これConsoleでやるのか!
688:デフォルトの名無しさん
07/10/04 00:51:38
太陽暦と太陰暦変換の計算式って中々見つからない
海上保安庁の
URLリンク(www1.kaiho.mlit.go.jp)
に計算式があるようだが 解読できないです。
689:デフォルトの名無しさん
07/10/04 02:50:41
[1] 授業単元:
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 10月5日6:00まで
[5] その他の制限: ありません
大変お手数ですが、よろしくお願いいたします
690:デフォルトの名無しさん
07/10/04 03:55:44
>>689
問題2の1つ目のループの計測
2つ目以降は計測してるループのとことかnの値とかそこらへんを書きかえればok
#include <stdio.h>
#include <sys/time.h>
int main(void)
{
int i, j, n, sum;
hrtime_t start, finish;
printf("1.\n");
printf("+----+---------+---------+---------+---------+---------+\n");
printf("| n | 2000000| 4000000| 6000000| 8000000| 10000000|\n");
printf("+----+---------+---------+---------+---------+---------+\n");
printf("|time|");
for(n=2000000; n<=10000000; n+=2000000) {
start = gethrtime(); /* 計測開始 */
sum = 0;
for(i=0; i<n; i++) sum++;
finish = gethrtime(); /* 計測終了 */
printf("%9f|", (double)(finish-start) / NANSEC);
}
printf("\n+----+---------+---------+---------+---------+---------+\n");
return 0;
}
691:デフォルトの名無しさん
07/10/04 04:02:44
>>689
関数名が情けないことになってるので、書きなおしておいて
#include<stdio.h>
int kaijo(int n){
if(n<=1) return 1;
return n*kaijo(n-1);
}
double touhikyusu(double a0, double x, int n){
if(n<=0) return a0;
return touhikyusu(a0*x, x, n-1);
}
int fibonacchi(int n){
if(n<=1) return 1;
return fibonacchi(n-1)+fibonacchi(n-2);
}
double honer(double x, double keisu[], int keisu_num){
if(keisu_num<=0) return 0.0;
return honer(x, keisu, keisu_num-1)*x+keisu[keisu_num-1];
}
int main(void){
double sum;
printf("%d\n", kaijo(10));
for(i=0,sum=0.0;i<10;i++) sum+=touhikyusu(1.0, 2.0, i));
printf("%f\n", sum);
printf("%d\n", fibonacchi(10));
printf("%f\n", honer(2.0, (double [5]){1.0, 2.0, 3.0, 4.0, 5.0}, 5));
return 0;
}
692:デフォルトの名無しさん
07/10/04 04:34:39
動作確認ぐらいしろよ
693:デフォルトの名無しさん
07/10/04 09:51:29
関数名touhikyusuなのに、等比級数を返さないってのはどうよ?
694:デフォルトの名無しさん
07/10/04 10:17:28
double touhikyusu(double a0, double r, int n){
if(n<=0) return a0;
return touhikyusu(a0, r, n-1)*r+a0;
}
695:デフォルトの名無しさん
07/10/04 11:27:50
>>694
なにそれ?
696:デフォルトの名無しさん
07/10/04 12:37:01
等比級数と等比数列がごっちゃになってた
double function(double a, double r, int n){
return n==1 ? a : a*pow(r,n-1) + function(a, r, n-1);
}
697:デフォルトの名無しさん
07/10/04 12:48:16
>>689
普通初項というとa1じゃないか?
それ以外は良いと思うが
698: ◆JdKMFRogo6
07/10/04 15:10:08
[1] 授業単元:C++
[2] 問題文(含コード&リンク):
処理の前後で clock() の値を保存しておき、その差をとり、プログラムの実行時間を求めよ。
[3] 環境
[3.1] OS: Windows XP
[3.2] VC
[3.3] 言語: C++
[4] 期限: 2007/10/7まで。
[5] その他の制限:
include<time.h>を用いる。
int t1, t2, t0;
t1 =?
処理
t2 =?
t0 = t2 - t1;
結果表示
制限というかイメージ的には、こんな感じかなぁとは思うのですが式がわかりませんでした。
大変お手数ですが、よろしくお願いいたします
699:デフォルトの名無しさん
07/10/04 15:43:28
>>698
処理の内容は何でもいいの?
700:デフォルトの名無しさん
07/10/04 17:42:53
[1] 授業単元:C++
[2] 問題文(含コード&リンク):
ディレクトリの中身のファイル20個をランダムに取り出して違うディレクトリに5個にコピーしろ。
[3] 環境
[3.1] OS: LINUX
[3.2] VC
[3.3] 言語: C++
[4] 期限: 2007/10/7まで。
[5] その他の制限:
今ホームディレクトリにいて
そこにdataというディレクトリがありも、またdata2というディレクトリがあるとします。
dataというディレクトリに1.dat~20.datのファイルがあるとします。
そのディレクトリのファイルをランダムに5個取り出して、data2にいれてください。
data/~.datのファイルの数20の番号からランダムに番号を選んでそのファイルを
~とするべきなのかな?
701:デフォルトの名無しさん
07/10/04 18:11:54
>>700
LinuxなのにVC?
702:デフォルトの名無しさん
07/10/04 18:14:19
そこはコピーしてました。
上のを。
703:デフォルトの名無しさん
07/10/04 18:20:10
ちゃんと書けよハゲ
704:デフォルトの名無しさん
07/10/04 18:36:04
ディレクトリなどの概念はOSに依存するので
きちんと環境を書かないと解答なんてできないよ。
705:デフォルトの名無しさん
07/10/04 18:52:58
>>681
681です
六用の部分は省いても良いです。
706:デフォルトの名無しさん
07/10/04 19:09:39
最近はハゲって言っちゃ駄目だそうだよ。
例えば目の不自由な人を「めくら」と言う等、本人の人格に関わりの無い身体的特徴をあげつらって侮辱するのは差別ではないか、って事らしい。
チビとかデブも駄目らしい。
ハゲは「髪の不自由な人」、チビは「身長の不自由な人」、デブは「脂肪燃焼の不自由な人」って言うそうな。
707:デフォルトの名無しさん
07/10/04 19:41:06
[1] 授業単元:実験
[2] 問題文(含コード&リンク):
ディレクトリの中身のファイル20個をランダムに
取り出して違うディレクトリに5個にコピーしなさい。
[3] 環境
[3.1] OS: LINUX
[3.2] (gcc )
[3.3] 言語: C
[4] 期限: 10月5日の朝までにできてればいいです。
[5] その他の制限:
今ホームディレクトリにいて
そこにdataというディレクトリがありも、またdata2というディレクトリがあるとします。
dataというディレクトリに1.dat~20.datのファイルがあるとします。
そのディレクトリのファイルをランダムに5個取り出して、data2にいれてください。
data/~.datのファイルの数20の番号からランダムに番号を選んでそのファイルを
~とするべきなのかな?