C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
前
C言語なら俺に聞け 144
https://mevius.5ch.net/test/read.cgi/tech/1514025223/
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
-
※前スレ
C言語なら俺に聞け 145
http://mevius.5ch.net/test/read.cgi/tech/1519046038/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
C言語なら俺に聞け 146
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん (ワッチョイ 839f-AnMQ)
2018/04/30(月) 04:47:37.50ID:XX4FB8lc0868デフォルトの名無しさん (スップ Sd8a-+oCX)
2018/08/11(土) 11:52:02.92ID:y6G1YdWMd >>865
√5を無限精度で求めるなんて不可能ですよ
√5を無限精度で求めるなんて不可能ですよ
869デフォルトの名無しさん (スップ Sd8a-+oCX)
2018/08/11(土) 11:55:08.80ID:y6G1YdWMd870デフォルトの名無しさん (スップ Sd8a-+oCX)
2018/08/11(土) 11:58:25.35ID:y6G1YdWMd871デフォルトの名無しさん (ワッチョイ de80-oNxq)
2018/08/11(土) 12:00:16.70ID:17qcRus/0 ↓アルゴリズム5でオレのサンプルではちゃんと動いてるからな
https://ideone.com/vhpLPV
↓オマエのは動かしても適切な結果にならない
https://ideone.com/vhpLPV
オマエのはお話にならないぐらいペケ
↓ペケの理由もちゃんとコメントに書いてある
https://ideone.com/vhpLPV
https://ideone.com/vhpLPV
↓オマエのは動かしても適切な結果にならない
https://ideone.com/vhpLPV
オマエのはお話にならないぐらいペケ
↓ペケの理由もちゃんとコメントに書いてある
https://ideone.com/vhpLPV
872デフォルトの名無しさん (スップ Sd8a-+oCX)
2018/08/11(土) 12:04:23.64ID:y6G1YdWMd 劣化コピーしたらそりゃ正しく動かないよ
nは64bitにしないと
nは64bitにしないと
873デフォルトの名無しさん (ワッチョイ 9f2d-IVAT)
2018/08/11(土) 12:06:06.40ID:ONHM6Q8h0874デフォルトの名無しさん (ワッチョイ de80-oNxq)
2018/08/11(土) 12:06:47.07ID:17qcRus/0 オマエは基本的にオツムに問題がある
病院へいったほうがいい
病院へいったほうがいい
875デフォルトの名無しさん (スップ Sd8a-+oCX)
2018/08/11(土) 12:07:58.68ID:y6G1YdWMd nが32bitなら0x80000000にしないと
多倍長で動かすためのテストコードだから
桁数が小さい時の計算回数は全く無視
ループが進んでからやっと演算がはじまる
多倍長で動かすためのテストコードだから
桁数が小さい時の計算回数は全く無視
ループが進んでからやっと演算がはじまる
876デフォルトの名無しさん (ワッチョイ de80-oNxq)
2018/08/11(土) 12:09:49.79ID:17qcRus/0 64回しかループしてない
Σ n
n→64
はいくつになる
Σ n
n→64
はいくつになる
877デフォルトの名無しさん (スップ Sd8a-+oCX)
2018/08/11(土) 12:14:07.21ID:y6G1YdWMd n <<= 1;
って書いてあげた方がよかったかな
どうせコンパイラが足し算に直すだろうし
って書いてあげた方がよかったかな
どうせコンパイラが足し算に直すだろうし
878デフォルトの名無しさん (ワッチョイ de80-oNxq)
2018/08/11(土) 16:36:24.18ID:17qcRus/0 1.と3.は簡単にできた
https://ideone.com/cmAQzO
gmplibのフィボナッチは n=10,000,000 を
0.7秒ぐらいで処理できる
オレが作ったのは4秒ぐらいかかる
m,10000000,4.008508,3.989280
g,10000000,0.724954,0.717120
全然かなわない
少しやってみて面倒そうだから後回しにしてた一般項やってみるか
https://ideone.com/cmAQzO
gmplibのフィボナッチは n=10,000,000 を
0.7秒ぐらいで処理できる
オレが作ったのは4秒ぐらいかかる
m,10000000,4.008508,3.989280
g,10000000,0.724954,0.717120
全然かなわない
少しやってみて面倒そうだから後回しにしてた一般項やってみるか
879デフォルトの名無しさん (スップ Sd8a-+oCX)
2018/08/11(土) 18:32:01.22ID:y6G1YdWMd880デフォルトの名無しさん (スップ Sd8a-+oCX)
2018/08/11(土) 18:34:26.69ID:y6G1YdWMd ループの最後の64回目は
aだけを計算すればいいので
かなり省略出来ます
aだけを計算すればいいので
かなり省略出来ます
881デフォルトの名無しさん (ワッチョイ de80-oNxq)
2018/08/11(土) 19:41:53.58ID:17qcRus/0 https://ideone.com/2by35t
精度評価用のログ取得処理
32bit版GMPの仮数部は初期値が64bitで32bitずつ増えていく模様
ちなみに64bit精度で一瞬で求まるフィボナッチ数のサイズ(bit)予測値はほぼ誤差なし
※ 9999件まで確認したが誤差は発生してない
※ 保険で、1dword(32bit - 最小単位) 分、余分に足しとけば、この予測値で間違いがおきることはまずないと考えられる
フィボナッチ数のサイズ(bit)予測値から必要な精度が予測できる
※ 9999件まで確認したが
※ フィボナッチ数のサイズ(bit)の1dword(32bit - 最小単位) 分より大きい誤差は発生してない
↓コレがその結果
http://fast-uploader.com/file/7089539563485/
http://fast-uploader.com/file/7089539604357/
数学的に証明したわけではないが、きっとコレで間違いなくいける
つまり予測値に64bit足しとけば間違いがおきることはない
精度評価用のログ取得処理
32bit版GMPの仮数部は初期値が64bitで32bitずつ増えていく模様
ちなみに64bit精度で一瞬で求まるフィボナッチ数のサイズ(bit)予測値はほぼ誤差なし
※ 9999件まで確認したが誤差は発生してない
※ 保険で、1dword(32bit - 最小単位) 分、余分に足しとけば、この予測値で間違いがおきることはまずないと考えられる
フィボナッチ数のサイズ(bit)予測値から必要な精度が予測できる
※ 9999件まで確認したが
※ フィボナッチ数のサイズ(bit)の1dword(32bit - 最小単位) 分より大きい誤差は発生してない
↓コレがその結果
http://fast-uploader.com/file/7089539563485/
http://fast-uploader.com/file/7089539604357/
数学的に証明したわけではないが、きっとコレで間違いなくいける
つまり予測値に64bit足しとけば間違いがおきることはない
882デフォルトの名無しさん (ワッチョイ de80-oNxq)
2018/08/11(土) 19:44:24.09ID:17qcRus/0 で、>>881の結果に基づいて
一般項で処理するコードを書いた
https://ideone.com/QKTrLi
一般項で処理
やってみたが
一般項で処理なんかするとともかく遅い
6,942,482 bitsの一般項の計算で
お話にならないぐらいものすごい時間がかかる
calculation 6942482bits
f,10000000,35.082393,34.855636
g,10000000,0.722054,0.720584
つまり、結論としてフィボナッチ数を求めるなら
GMPに用意されてる関数を使うのが一番
再帰階乗演算使う方がはるかにマシ
一般項で求めるのはウンコ
一般項で処理するコードを書いた
https://ideone.com/QKTrLi
一般項で処理
やってみたが
一般項で処理なんかするとともかく遅い
6,942,482 bitsの一般項の計算で
お話にならないぐらいものすごい時間がかかる
calculation 6942482bits
f,10000000,35.082393,34.855636
g,10000000,0.722054,0.720584
つまり、結論としてフィボナッチ数を求めるなら
GMPに用意されてる関数を使うのが一番
再帰階乗演算使う方がはるかにマシ
一般項で求めるのはウンコ
884デフォルトの名無しさん (ワッチョイ 0b50-2km2)
2018/08/11(土) 21:43:12.30ID:N9ICkOCi0886デフォルトの名無しさん (ワッチョイ 0b50-2km2)
2018/08/11(土) 21:50:41.32ID:N9ICkOCi0 ローカル環境では動いてますが、
>>852に書いた通りideoneだと動きません
>>852に書いた通りideoneだと動きません
887デフォルトの名無しさん (ワッチョイ 4a8d-2km2)
2018/08/11(土) 21:58:41.55ID:VKOHvb3S0 floatとdoubleの値の範囲を教えてください。
-0.000034 < float < 0.000034
-0.00000000016 < long < 0.0000000016
みたいな感じで教えてください><
-0.000034 < float < 0.000034
-0.00000000016 < long < 0.0000000016
みたいな感じで教えてください><
888デフォルトの名無しさん (ワッチョイ 5f81-2km2)
2018/08/11(土) 22:22:37.58ID:v96Fcglg0 >>886
私も手元で確かめました、確かにこれは爆速ですね…私の古いPCでもf(1000万)までならば一瞬で答えが出ます。
私も手元で確かめました、確かにこれは爆速ですね…私の古いPCでもf(1000万)までならば一瞬で答えが出ます。
890デフォルトの名無しさん (ワッチョイ 6fc3-5rxo)
2018/08/11(土) 22:26:14.75ID:UyVMPuF50 C言語でゲームがアクションゲームが作りたくてプログラミングはじめた
実際にプログラミングって楽しいと感じてる
でも入門書通りソートアルゴリズムを勉強してて、基本交換法やら基本選択法は楽にフローチャートもコードも書けたのに、そのあとにやった クイックソートとか単純挿入法では面白いぐらい苦戦した(どっちももうできるようになったけど)
これって、俺のアルゴリズムを考える能力が乏しいってことなのかな
それともはじめはみんなこんなもの?
実際にプログラミングって楽しいと感じてる
でも入門書通りソートアルゴリズムを勉強してて、基本交換法やら基本選択法は楽にフローチャートもコードも書けたのに、そのあとにやった クイックソートとか単純挿入法では面白いぐらい苦戦した(どっちももうできるようになったけど)
これって、俺のアルゴリズムを考える能力が乏しいってことなのかな
それともはじめはみんなこんなもの?
891デフォルトの名無しさん (ワッチョイ 6fc3-5rxo)
2018/08/11(土) 22:26:40.35ID:UyVMPuF50 ×ゲームがアクションが
◯アクションゲームが
◯アクションゲームが
892デフォルトの名無しさん (ワッチョイ 4a12-oNxq)
2018/08/11(土) 22:35:15.61ID:d91dd04/0 再帰とポインタで躓くと昔から伝わっている
特に再帰は禅でもやって悟りを得ないと理解できない
特に再帰は禅でもやって悟りを得ないと理解できない
893さまよえる蟻人間 ◆T6xkBnTXz7B0 (スププ Sdea-cF9D)
2018/08/11(土) 22:35:57.56ID:/IS35TFAd だれでも最初は赤ちゃん歩き。私も最初はじゃんけんのプログラミングが全くできなかった。
894デフォルトの名無しさん (ワッチョイ 0b50-2km2)
2018/08/11(土) 22:42:41.92ID:N9ICkOCi0895デフォルトの名無しさん (ワッチョイ 0b50-2km2)
2018/08/11(土) 23:13:57.75ID:N9ICkOCi0 n log nより遅いように見えるのは
サイズが大きいとキャッシュから外れるため
フーリエ変換はメモリのランダムアクセスが頻発するので
キャッシュに入るかどうかで大きく時間が変わる
適当に並び変えながら変換することで
キャッシュヒット率を上げたり
メインメモリに収まりきらない巨大サイズをHDDを使いながら変換することも出来るのだが、
今回はシンプルさ重視の為見送り
世の中にある高速FFTライブラリに差し替えれば
もっと高速化する
サイズが大きいとキャッシュから外れるため
フーリエ変換はメモリのランダムアクセスが頻発するので
キャッシュに入るかどうかで大きく時間が変わる
適当に並び変えながら変換することで
キャッシュヒット率を上げたり
メインメモリに収まりきらない巨大サイズをHDDを使いながら変換することも出来るのだが、
今回はシンプルさ重視の為見送り
世の中にある高速FFTライブラリに差し替えれば
もっと高速化する
896デフォルトの名無しさん (ワッチョイ 0b50-2km2)
2018/08/11(土) 23:25:51.63ID:N9ICkOCi0 >>887
環境依存
float, double がそれぞれIEEE754のbinary32とbinary64準拠の場合はおおよそ
-3.4028234663852885981*10^38 ≦ float ≦ 3.4028234663852885981*10^38
-1.7976931348623157081*10^308 ≦ double ≦ 1.7976931348623157081*10^308
正確には以下の範囲
float : ±(2^24-1)*2^104
double : ±(2^53-1)*2^971
これに追加して±∞, NaN などがある
組み込みなどではdoubleも32bitであることも多い
環境依存
float, double がそれぞれIEEE754のbinary32とbinary64準拠の場合はおおよそ
-3.4028234663852885981*10^38 ≦ float ≦ 3.4028234663852885981*10^38
-1.7976931348623157081*10^308 ≦ double ≦ 1.7976931348623157081*10^308
正確には以下の範囲
float : ±(2^24-1)*2^104
double : ±(2^53-1)*2^971
これに追加して±∞, NaN などがある
組み込みなどではdoubleも32bitであることも多い
897デフォルトの名無しさん (ワッチョイ 0b50-2km2)
2018/08/11(土) 23:33:36.42ID:N9ICkOCi0 C言語スレだから ^ は排他的論理和の意味で使うべきでしたかね
-340282346638528859811704183484516925440 ≦ binary32 ≦ 340282346638528859811704183484516925440
-1797693134862315708145274237317043567980705675258449965989174768
0315726078002853876058955863276687817154045895351438246423432132
6889464182768467546703537516986049910576551282076245490090389328
9440758685084551339423045832369032229481658085593321233482747978
26204144723168738177180919299881250404026184124858368
≦ binary64 ≦
1797693134862315708145274237317043567980705675258449965989174768
0315726078002853876058955863276687817154045895351438246423432132
6889464182768467546703537516986049910576551282076245490090389328
9440758685084551339423045832369032229481658085593321233482747978
26204144723168738177180919299881250404026184124858368
-340282346638528859811704183484516925440 ≦ binary32 ≦ 340282346638528859811704183484516925440
-1797693134862315708145274237317043567980705675258449965989174768
0315726078002853876058955863276687817154045895351438246423432132
6889464182768467546703537516986049910576551282076245490090389328
9440758685084551339423045832369032229481658085593321233482747978
26204144723168738177180919299881250404026184124858368
≦ binary64 ≦
1797693134862315708145274237317043567980705675258449965989174768
0315726078002853876058955863276687817154045895351438246423432132
6889464182768467546703537516986049910576551282076245490090389328
9440758685084551339423045832369032229481658085593321233482747978
26204144723168738177180919299881250404026184124858368
898デフォルトの名無しさん (ワッチョイ 0b50-2km2)
2018/08/11(土) 23:41:42.36ID:N9ICkOCi0 >>888
単純なバグでした
size_t が64bit前提の部分があったのと、
非常に恥ずかしいですが以下のような動作不定なコードがありました
a->data[i++] = b->data[i] + carry;
私のローカル環境だとたまたま動いていたようです
intが16bitだとまだヤバそうですが、
16bit環境で動かすことはないと思うので気にしないことにします
単純なバグでした
size_t が64bit前提の部分があったのと、
非常に恥ずかしいですが以下のような動作不定なコードがありました
a->data[i++] = b->data[i] + carry;
私のローカル環境だとたまたま動いていたようです
intが16bitだとまだヤバそうですが、
16bit環境で動かすことはないと思うので気にしないことにします
899デフォルトの名無しさん (ワッチョイ 4a8d-2km2)
2018/08/11(土) 23:47:51.76ID:VKOHvb3S0900デフォルトの名無しさん (ワッチョイ 0b50-2km2)
2018/08/11(土) 23:56:09.61ID:N9ICkOCi0901デフォルトの名無しさん (ワッチョイ 5f81-2km2)
2018/08/12(日) 00:23:34.17ID:BxiB5wa+0 >>898
ideoneだと100万ちょっと下でRuntimeErrorで途中でとまってるぽいね
ideoneだと100万ちょっと下でRuntimeErrorで途中でとまってるぽいね
902デフォルトの名無しさん (アウアウエー Sac2-+AzL)
2018/08/12(日) 07:44:42.21ID:P7wTPSJQa 蛇とJSとアセンブラ少しかじったんだけどCの効率的な勉強法ある?
主に蛇のチューニングと、これから勉強する予定なんだけど組み込み用マイコンのプログラムを書くために使う
小型のドローンもどきにのせたマイコンに、学習済みパターンをのせて動作制御したい
主に蛇のチューニングと、これから勉強する予定なんだけど組み込み用マイコンのプログラムを書くために使う
小型のドローンもどきにのせたマイコンに、学習済みパターンをのせて動作制御したい
903デフォルトの名無しさん (ワッチョイ 0b50-+oCX)
2018/08/12(日) 07:46:52.98ID:3JJNsMDc0 蛇?
904デフォルトの名無しさん (アウアウエー Sac2-+AzL)
2018/08/12(日) 07:47:28.70ID:P7wTPSJQa ぱいそん
905デフォルトの名無しさん (ワッチョイ 0b50-+oCX)
2018/08/12(日) 07:52:36.70ID:3JJNsMDc0 アセンブラをかじったのならCの習得は速そう
組み込みマイコンはどんなやつ?
組み込みマイコンはどんなやつ?
906デフォルトの名無しさん (アウアウエー Sac2-+AzL)
2018/08/12(日) 07:57:10.98ID:P7wTPSJQa 聞いといて申し訳ないんだけど全然知らないんだよね門外漢で
シンプリンク?とか言うやつでいいかなと思ってるけど、種類により出来ること出来ないことも分からない
シンプリンク?とか言うやつでいいかなと思ってるけど、種類により出来ること出来ないことも分からない
907デフォルトの名無しさん (ワッチョイ 0b50-+oCX)
2018/08/12(日) 08:08:39.25ID:3JJNsMDc0 文法をざっくり本とかで覚えたらあとは実践
高速化なら具体例を提示すれば私がアドバイスしますよ
高速化する場合はクリティカルポイントを絞ってから
時間がかからない所は高速化せずにそのままにしておくこと
アルゴリズムや式など、
上位の改良の方が高速化に寄与しやすいので
まずは上の方から考えること
下を高速化することで上が見にくくなって上の改良を妨げるようじゃ本末転倒なので
高速化なら具体例を提示すれば私がアドバイスしますよ
高速化する場合はクリティカルポイントを絞ってから
時間がかからない所は高速化せずにそのままにしておくこと
アルゴリズムや式など、
上位の改良の方が高速化に寄与しやすいので
まずは上の方から考えること
下を高速化することで上が見にくくなって上の改良を妨げるようじゃ本末転倒なので
908デフォルトの名無しさん (ワッチョイ 0b50-+oCX)
2018/08/12(日) 08:10:55.02ID:3JJNsMDc0909デフォルトの名無しさん (アウアウエー Sac2-+AzL)
2018/08/12(日) 08:15:31.91ID:P7wTPSJQa910デフォルトの名無しさん (ワッチョイ c6e7-AlRe)
2018/08/12(日) 08:25:40.14ID:El938M/O0 アルゴリズムなど分からないですが、プログラムが出来るようになりますか?
911デフォルトの名無しさん (ワッチョイ 9e01-2km2)
2018/08/12(日) 08:40:26.57ID:2Xoj+DoI0 >>909
ISBN 4-320-02692-6
ISBN 4-320-02692-6
912デフォルトの名無しさん (ワッチョイ 0b23-BtOx)
2018/08/12(日) 09:27:40.23ID:eabwfPDR0 >>909
苦しんで覚えるC言語
https://9cguide.appspot.com
書籍版:ISBN 978-4798030142
>>911の本は古い記法だったはずだから初学者向けではないと思う
苦しんで覚えるC言語
https://9cguide.appspot.com
書籍版:ISBN 978-4798030142
>>911の本は古い記法だったはずだから初学者向けではないと思う
913デフォルトの名無しさん (ワッチョイ 9e01-2km2)
2018/08/12(日) 09:36:27.44ID:2Xoj+DoI0 古い記法ってこれか?
main(argc, argv)
char **argv;
{
int i 0;
while (i < argc) printf("%s ", argv[i =+ 1]);
return (0);
}
main(argc, argv)
char **argv;
{
int i 0;
while (i < argc) printf("%s ", argv[i =+ 1]);
return (0);
}
914デフォルトの名無しさん (ブーイモ MM4f-oNxq)
2018/08/12(日) 10:04:57.52ID:sdNRpf8zM >>911
K&Rって言えよ。余計わかりにくい。
>>909
K&Rは「既にプログラミングできる人がCの文法を覚える用」だから、本当に最小セットしか乗ってない。
ただ、それでいい人=上級者からは絶賛されてる。彼らにとってはいわゆる入門書は冗長すぎるから。
十分にPythonと『アセンブラ』を使え、文法だけ知ればいけるのなら、K&Rはすごくいい。
PythonやJS等の上級言語しか使ったことなく、ポインタって何?なら、
殆どの人はポインタで躓くので、K&Rだけではかなり厳しいと思う。
アセンブラのインデックスレジスタがポインタそのものなのだが、ピンと来るか?
ピンと来るなら、まずK&R買って、だめなら入門書でいいと思う。
意味不明だと思うのなら、最初から入門書を買え。
K&Rって言えよ。余計わかりにくい。
>>909
K&Rは「既にプログラミングできる人がCの文法を覚える用」だから、本当に最小セットしか乗ってない。
ただ、それでいい人=上級者からは絶賛されてる。彼らにとってはいわゆる入門書は冗長すぎるから。
十分にPythonと『アセンブラ』を使え、文法だけ知ればいけるのなら、K&Rはすごくいい。
PythonやJS等の上級言語しか使ったことなく、ポインタって何?なら、
殆どの人はポインタで躓くので、K&Rだけではかなり厳しいと思う。
アセンブラのインデックスレジスタがポインタそのものなのだが、ピンと来るか?
ピンと来るなら、まずK&R買って、だめなら入門書でいいと思う。
意味不明だと思うのなら、最初から入門書を買え。
915デフォルトの名無しさん (ワッチョイ cab3-AKsU)
2018/08/12(日) 10:22:27.82ID:sFpP4hR50916デフォルトの名無しさん (アウアウエー Sac2-+AzL)
2018/08/12(日) 10:28:59.49ID:P7wTPSJQa ありがとう
とりあえず苦Cは確定で、メインとしてK&R 使えるか本屋で見てくる
正直上級者どころか初心者を脱したかどうかレベルだから合わないかもだが
数学でチューリングマシンがーって机上の勉強やってたからかアセンブラはすんなりいった
行けそうだったらK&R使ってみる
てことで本屋行ってくる
とりあえず苦Cは確定で、メインとしてK&R 使えるか本屋で見てくる
正直上級者どころか初心者を脱したかどうかレベルだから合わないかもだが
数学でチューリングマシンがーって机上の勉強やってたからかアセンブラはすんなりいった
行けそうだったらK&R使ってみる
てことで本屋行ってくる
917デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/12(日) 11:20:48.05ID:1gNSypiFd チューリングマシンは数学板の巨大数スレッドで
よく話題にあがるので
ご教授しに来ていただけるとうれしいです
よく話題にあがるので
ご教授しに来ていただけるとうれしいです
918デフォルトの名無しさん (ブーイモ MM4f-oNxq)
2018/08/12(日) 11:36:54.26ID:zEU3SQsmM >>916
> 数学でチューリングマシンがーって机上の勉強やってたからかアセンブラはすんなりいった
これって理論畑から行くとチューリングマシンがプログラミングより先に来るんか?
正直、それが何の役に立つのかはよく分からんが…
> 数学でチューリングマシンがーって机上の勉強やってたからかアセンブラはすんなりいった
これって理論畑から行くとチューリングマシンがプログラミングより先に来るんか?
正直、それが何の役に立つのかはよく分からんが…
919デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/12(日) 11:45:51.35ID:1gNSypiFd コンピューター言語で記述出来る事の限界がわかる
実際のコーディング技術はあまり関係ないと思う
実際のコーディング技術はあまり関係ないと思う
920デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/12(日) 11:48:28.53ID:1gNSypiFd 全ての命令に、次に実行する命令のアドレスを指定出来るようなCPUがあるが
これはちょっと近いか
これはちょっと近いか
921デフォルトの名無しさん (ブーイモ MM4f-oNxq)
2018/08/12(日) 12:31:18.04ID:zEU3SQsmM >>919
それって自然言語に対してって事?
なら逆にチューリングマシンの範囲を超える事象って何?
単純に言えば、それは未来永劫今の構造のCPUでは無理ってことになるはずだが、
そんな分野があるのか?
それって自然言語に対してって事?
なら逆にチューリングマシンの範囲を超える事象って何?
単純に言えば、それは未来永劫今の構造のCPUでは無理ってことになるはずだが、
そんな分野があるのか?
922デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/12(日) 14:06:00.94ID:1gNSypiFd >>921
ある
ある
923デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/12(日) 14:09:23.49ID:1gNSypiFd プログラムの停止判定とか
乱数生成とか
非常に増加量の大きな関数とか
乱数生成とか
非常に増加量の大きな関数とか
924デフォルトの名無しさん (スププ Sdea-mlTV)
2018/08/12(日) 14:17:10.15ID:BCWcLjTed P≠NP問題をご存知ない?
925デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/14(火) 09:46:10.53ID:KzkkOfFYd926デフォルトの名無しさん (スプッッ Sd8a-J+gX)
2018/08/15(水) 06:16:23.73ID:fPb+tE65d Java屋なんですけど自己啓発のために学生時代以来のCを夏休みに勉強しようと思ってます
開発環境のオススメを教えてください
自分が思いつくところでは…
・Vimとgcc
・VScode
・eclipse
こんな所ですが皆さんどうされてますか?
MacもWindowsも両方手元にはあります
開発環境のオススメを教えてください
自分が思いつくところでは…
・Vimとgcc
・VScode
・eclipse
こんな所ですが皆さんどうされてますか?
MacもWindowsも両方手元にはあります
927デフォルトの名無しさん (ワッチョイ 0b50-+oCX)
2018/08/15(水) 08:44:48.25ID:NFQKBcxz0 開発環境なんて何でもいいから
さっさと勉強しなさい
さっさと勉強しなさい
928デフォルトの名無しさん (ワッチョイ cab3-AKsU)
2018/08/15(水) 09:12:26.87ID:o8lgioa70 >>926
組み込みとかで特定のコンパイラ使うとかならVSCodeでいいと思うが、そうでないなら普通にVisual Studioでいいと思う
組み込みとかで特定のコンパイラ使うとかならVSCodeでいいと思うが、そうでないなら普通にVisual Studioでいいと思う
929デフォルトの名無しさん (ワッチョイ 4a12-oNxq)
2018/08/15(水) 11:22:04.73ID:mhFNubNm0 IDEが無い時代の開発を体験してみるという修行をしたいのならテキストエディタとコマンドラインだけでやる
これは啓発効果が高い
これは啓発効果が高い
930デフォルトの名無しさん (ワッチョイ 8a73-/icg)
2018/08/15(水) 12:03:22.86ID:YVF6Ac/t0 俺は未だにターミナルとエディター
これ以上の快適さを知らないし知るつもりもない
これ以上の快適さを知らないし知るつもりもない
931デフォルトの名無しさん (ワッチョイ cab3-AKsU)
2018/08/15(水) 12:10:42.58ID:o8lgioa70 別にいいんじゃね?
ターミナル最高だからお前らも使え!
とか言わなきゃ
ターミナル最高だからお前らも使え!
とか言わなきゃ
932デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/15(水) 12:11:49.41ID:PVw+eqmQd EDLIN最高
933デフォルトの名無しさん (ワッチョイ ca9f-QP/R)
2018/08/15(水) 12:43:52.85ID:1lipv2et0 Vimと言いたいところだが最近はもっぱらVSCodeばかり
934デフォルトの名無しさん (ワッチョイ 9e01-2km2)
2018/08/15(水) 14:46:36.23ID:bAZUebux0 俺は超初心者時代をTurbo Cで、
中級以後はviとccでおぼえた
ただし常に他の環境も色々使ってみてた
中級以後はviとccでおぼえた
ただし常に他の環境も色々使ってみてた
935デフォルトの名無しさん (スッップ Sdea-mlTV)
2018/08/15(水) 14:58:02.44ID:1MwRKcc7d VisualStudioで良いとか口が裂けても言えねぇよ
MSVCはこのご時世ですらpure CはC89だぞ?
初心者で知らないならともかくこういうスレでVSをCの環境として勧める奴何者だよ
MSVCはこのご時世ですらpure CはC89だぞ?
初心者で知らないならともかくこういうスレでVSをCの環境として勧める奴何者だよ
936デフォルトの名無しさん (アウアウカー Sacb-QP/R)
2018/08/15(水) 15:30:10.79ID:NhDv8JXAa gccもclangもインテルコンパイラーもc99さえ100%準拠してないだろ
何でmsvcだけ槍玉あげてんの?
何でmsvcだけ槍玉あげてんの?
937デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/15(水) 15:44:09.01ID:PVw+eqmQd C89/90から覚えれば良い
あとはおまけ
Cが使われるのなんて今時組み込みくらいだ
組み込み用コンパイラだといまだC89/90が多い
あとはおまけ
Cが使われるのなんて今時組み込みくらいだ
組み込み用コンパイラだといまだC89/90が多い
938デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/15(水) 15:45:48.23ID:PVw+eqmQd いろんなコンパイラ、いろんな環境を使って見るのも良い
8bit、RAM64バイトみたいなチープな環境とか
8bit、RAM64バイトみたいなチープな環境とか
939デフォルトの名無しさん (アウアウウー Sa2f-02HX)
2018/08/15(水) 15:46:05.90ID:cYF20yina いや、組込開発環境なんてgccばっかりだからC99が標準だよ。
まあ妙に保守的なひとがいて古い文法を強制するんだけど…
まあ妙に保守的なひとがいて古い文法を強制するんだけど…
940デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/15(水) 15:48:33.27ID:PVw+eqmQd 組み込みに標準なんて無い
各社いろいろだ
各社いろいろだ
941デフォルトの名無しさん (ワッチョイ 1b9f-x/tb)
2018/08/15(水) 15:59:23.74ID:BN2igdfy0 そういやLinuxとかのCUIでTurboCみたいな環境ってあるのかな?
あると外部からsshでログインしている時に使えて良いのだが。
あると外部からsshでログインしている時に使えて良いのだが。
942デフォルトの名無しさん (アウアウウー Sa2f-02HX)
2018/08/15(水) 16:22:31.09ID:fRV95OwVa943デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/15(水) 16:28:18.26ID:PVw+eqmQd >>942
細かい表記とかよりももっと大きな事を気にした方がいいぞ
細かい表記とかよりももっと大きな事を気にした方がいいぞ
944デフォルトの名無しさん (ワッチョイ 1b9f-x/tb)
2018/08/15(水) 17:03:06.47ID:BN2igdfy0945デフォルトの名無しさん (アウアウウー Sa2f-02HX)
2018/08/15(水) 17:04:43.75ID:hzdQdpXra >>943
大きいことって、15年前の環境でコンパイルできることだろ?
大きいことって、15年前の環境でコンパイルできることだろ?
946デフォルトの名無しさん (ワッチョイ 0b93-6ZXu)
2018/08/15(水) 17:13:57.27ID:2ovpzQjs0 vimでエディットして :make でビルド、
エラーや警告は quickfix 機能でシラミ潰し。
強く薦める気はないし、他の人に使い方を教えるほどの技量はないけど、
個人的にはこの組み合わせが便利だわ。
errorformat オプションを設定すれば、どんなコンパイラや変換ツールでも
ソースファイルのエラー箇所を呼び出してくれるからね。
エラーや警告は quickfix 機能でシラミ潰し。
強く薦める気はないし、他の人に使い方を教えるほどの技量はないけど、
個人的にはこの組み合わせが便利だわ。
errorformat オプションを設定すれば、どんなコンパイラや変換ツールでも
ソースファイルのエラー箇所を呼び出してくれるからね。
947デフォルトの名無しさん (ワッチョイ 9ff2-2km2)
2018/08/15(水) 17:24:36.77ID:/SQznhgr0 C99じゃないと困ることなんてそんなにないしな。わざわざC++と互換性ないコード書くメリットもない。
948デフォルトの名無しさん (ワッチョイ de23-BtOx)
2018/08/15(水) 17:36:19.98ID:tGPywhyN0 C89だとforの初期化のときに新しく変数を宣言できないじゃん
949デフォルトの名無しさん (ワッチョイ 9e01-2km2)
2018/08/15(水) 17:48:50.30ID:bAZUebux0 コンパイラは案件による、それだけ
C99を使う案件でC89がどうたらぬかすのはただのアホ
逆もまたしかり
C99を使う案件でC89がどうたらぬかすのはただのアホ
逆もまたしかり
950デフォルトの名無しさん (アウアウウー Sa2f-02HX)
2018/08/15(水) 17:52:57.43ID:cYF20yina C++とCだとファイル分けるでしょ?
951デフォルトの名無しさん (ワッチョイ 9ff2-2km2)
2018/08/15(水) 17:56:50.28ID:/SQznhgr0 そういう意味じゃたしかに、C99規格に入れられたいくつかの機能は便利だ。
なので訂正する↓
msvcがC99準拠じゃないからといって困ることなんてそんなにないしな。
なので訂正する↓
msvcがC99準拠じゃないからといって困ることなんてそんなにないしな。
952デフォルトの名無しさん (ブーイモ MM27-vObg)
2018/08/15(水) 17:58:30.01ID:/kIK810yM 自己啓発の勉強ならC89で困ることとかなんかあるんだろうか?
953デフォルトの名無しさん (ワッチョイ 0b93-6ZXu)
2018/08/15(水) 17:59:04.25ID:2ovpzQjs0 //コメントと、どこでも変数宣言、がダメってのは辛いのよね。
エラーを直すのは簡単だけど、いかにもバカバカしい作業で。
エラーを直すのは簡単だけど、いかにもバカバカしい作業で。
954デフォルトの名無しさん (ワッチョイ 63e7-AujL)
2018/08/15(水) 18:00:49.89ID:PyNbth/v0 他人に教えるなら標準は尊重しよう
955デフォルトの名無しさん (ブーイモ MM27-oNxq)
2018/08/15(水) 19:26:07.57ID:kg5weZ+NM VSでC++環境使ってC文法だけで組めばよくね?
それ以前に環境なんてどれでもいい、とは思うが。
JavaでEclipseに慣れてるのならそれもありだと思うよ。
環境で躓くこと自体が無駄だよ。
そもそもJava分かっててCの練習なら、ポインタと変数の寿命管理だけだろ。
GUIでなければ、寿命管理は全部入れ子の構造化プログラミング徹底で済んでしまうし、今時CでGUIもない。
結果的にポインタだけなのだから、環境なんて何でもいいと思うが。
その上で、現場で古い文法を使う必要があるのなら、その時に慣れればいいだけで。
環境なんて全くどれでもいいだろ、これなら。
emacs毛嫌いしている奴がいるのもよく分からんが。
Ctrl+Fとか覚えたくなければ、カーソルキー使えばいいだけだろ。
emacs使いでも、よほどコアな奴でない限り、EmacsLispなんて書いてないぞ。俺も書けんし。
それ以前に環境なんてどれでもいい、とは思うが。
JavaでEclipseに慣れてるのならそれもありだと思うよ。
環境で躓くこと自体が無駄だよ。
そもそもJava分かっててCの練習なら、ポインタと変数の寿命管理だけだろ。
GUIでなければ、寿命管理は全部入れ子の構造化プログラミング徹底で済んでしまうし、今時CでGUIもない。
結果的にポインタだけなのだから、環境なんて何でもいいと思うが。
その上で、現場で古い文法を使う必要があるのなら、その時に慣れればいいだけで。
環境なんて全くどれでもいいだろ、これなら。
emacs毛嫌いしている奴がいるのもよく分からんが。
Ctrl+Fとか覚えたくなければ、カーソルキー使えばいいだけだろ。
emacs使いでも、よほどコアな奴でない限り、EmacsLispなんて書いてないぞ。俺も書けんし。
956デフォルトの名無しさん (ワッチョイ 1b9f-x/tb)
2018/08/15(水) 19:29:59.75ID:BN2igdfy0 viのキーバインドになってないと体が覚えるまで面倒
957デフォルトの名無しさん (ブーイモ MM27-oNxq)
2018/08/15(水) 19:42:07.19ID:kg5weZ+NM キーバインド自体は対応させるELが有ってもおかしく無いと思うけど。
(emacs教団の入会基準があのキーバインドに慣れることでも無かろう)
むしろ編集モード/閲覧モードを持つviの方がエディタとしては異端だ。
他の通常エディタに慣れたらviは無理だと思うが。
とはいえ、どっちも使えるって奴も聞かないので、
vi派なら今更emacsに慣れる必要は無いと思うが。
同様に、JavaでEclipseに慣れてるのなら、VSに慣れる必要もないし、そのままやった方がいいと思うよ。
何も知らなくて環境の立ち上げすら面倒なら、
VSならインストールさえすればクリックでビルド&デバッグ実行まで出来るから楽ってだけで。
(emacs教団の入会基準があのキーバインドに慣れることでも無かろう)
むしろ編集モード/閲覧モードを持つviの方がエディタとしては異端だ。
他の通常エディタに慣れたらviは無理だと思うが。
とはいえ、どっちも使えるって奴も聞かないので、
vi派なら今更emacsに慣れる必要は無いと思うが。
同様に、JavaでEclipseに慣れてるのなら、VSに慣れる必要もないし、そのままやった方がいいと思うよ。
何も知らなくて環境の立ち上げすら面倒なら、
VSならインストールさえすればクリックでビルド&デバッグ実行まで出来るから楽ってだけで。
958デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/15(水) 20:00:10.97ID:PVw+eqmQd いろいろ使いたければC++を使えば良いんだよ
new delete 例外 stl を使わなくてもCより便利だろ
C++じゃなくてわざわざCを覚えたいって言うからには
何か理由があるんだろう
new delete 例外 stl を使わなくてもCより便利だろ
C++じゃなくてわざわざCを覚えたいって言うからには
何か理由があるんだろう
959デフォルトの名無しさん (ブーイモ MM27-oNxq)
2018/08/15(水) 20:08:35.17ID:kg5weZ+NM ちなみに、CとC++を明確に区別してるのって、C使いとC++使いだけだろ。
他はだいたいC/C++扱いだし、926もそうだと思うが。
他はだいたいC/C++扱いだし、926もそうだと思うが。
960デフォルトの名無しさん (アウアウウー Sa2f-02HX)
2018/08/15(水) 20:21:36.71ID:53ohHsaIa まあでかいプログラムはC++で書いてれば良かったと思うようになるよ。
でもC++で書かれたクソコードというのはCのそれの比ではないので、品質のコントロールは問題になる。
でもC++で書かれたクソコードというのはCのそれの比ではないので、品質のコントロールは問題になる。
961デフォルトの名無しさん (ワッチョイ 9ff2-2km2)
2018/08/15(水) 20:22:57.45ID:/SQznhgr0 C99はC++の拡張を取り入れるんならC++98と互換性が取れるところで一旦〆れば
よかったものを、なんで要らん独自性を出したかねぇ。
よかったものを、なんで要らん独自性を出したかねぇ。
962デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/15(水) 20:24:28.79ID:PVw+eqmQd 勉強段階なら一緒に覚えれば良いよ
自然といろんな流儀を覚える
自然といろんな流儀を覚える
963デフォルトの名無しさん (ブーイモ MM27-oNxq)
2018/08/15(水) 20:27:16.78ID:kg5weZ+NM >>960
> でもC++で書かれたクソコードというのはCのそれの比ではない
うむ、それは言えてる。
文法が簡易すぎてC++的意味不明な回りくどい糞コードを書けないからなのか、
それともこの簡易文法だけで戦っていける奴らは本質的に鍛えられるからなのか。
> でもC++で書かれたクソコードというのはCのそれの比ではない
うむ、それは言えてる。
文法が簡易すぎてC++的意味不明な回りくどい糞コードを書けないからなのか、
それともこの簡易文法だけで戦っていける奴らは本質的に鍛えられるからなのか。
964デフォルトの名無しさん (ワッチョイ 0b93-6ZXu)
2018/08/15(水) 20:28:43.25ID:2ovpzQjs0 わざわざ「C言語なら俺に聞け」スレッドで質問してるからには
C++ではないCに限定してるんじゃないか、と判断するのも合理的ではあるわね。
CとC++の両方を扱う初心者向けスレッドも別に存在するし。
もちろん >>926 の意図は投稿者自身のものだけど。
C++ではないCに限定してるんじゃないか、と判断するのも合理的ではあるわね。
CとC++の両方を扱う初心者向けスレッドも別に存在するし。
もちろん >>926 の意図は投稿者自身のものだけど。
965デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/15(水) 20:28:52.37ID:PVw+eqmQd C++の糞コードと言えばこれ
#define private public
#define private public
966デフォルトの名無しさん (ブーイモ MM27-oNxq)
2018/08/15(水) 20:28:53.66ID:kg5weZ+NM967デフォルトの名無しさん (スップ Sdea-+oCX)
2018/08/15(水) 20:30:15.51ID:PVw+eqmQd もう別の言語だよ
もちろん共通部分だけでも組めるけど
もちろん共通部分だけでも組めるけど
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 【野球】野球の未来に危機感「マイナースポーツになる」 宮本慎也氏が開催…学童大会 [尺アジ★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- なぜ人間は架空の人物に感情移入するのか
- 【愛国者速報】山上徹也、金に困りTwitterのお金配り垢に応募していた。犯行もお金があったら暫くやらなかったと供述 [856698234]
- 年々クリスマス感が無くなってる
- 【速報】高市早苗、起床 [779938112]
- ひま
