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/
前
http://mevius.5ch.net/test/read.cgi/tech/1509107288/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
C言語なら俺に聞け 144
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 838a-3nWA)
2017/12/23(土) 19:33:43.89ID:dghfoRy202デフォルトの名無しさん (ワッチョイ 639f-buzn)
2017/12/23(土) 22:25:14.39ID:BUr3nOOf0 #include <stdio.h>
int main(int argc, char *argv[])
{
unsigned long long n[] = { 0x0820084008411c3e, 0x087f180408080810 };
int i;
for (i = 127; i >= 0; i--) {
putchar(n[i / 64] & (1ULL << (i % 64)) ? '*' : ' ');
if (! (i & 0x0f)) putchar('\n');
}
return 0;
}
https://paiza.io/projects/zyQ0Osccs4xaziOrVUF_cA
int main(int argc, char *argv[])
{
unsigned long long n[] = { 0x0820084008411c3e, 0x087f180408080810 };
int i;
for (i = 127; i >= 0; i--) {
putchar(n[i / 64] & (1ULL << (i % 64)) ? '*' : ' ');
if (! (i & 0x0f)) putchar('\n');
}
return 0;
}
https://paiza.io/projects/zyQ0Osccs4xaziOrVUF_cA
乱数生成法について教えてください。
普通の乱数生成法は、ある乱数 x を発生させたとき、次の乱数を特定の関数 f で生成させていますが、
(すなわち、次の乱数は f(x) となる)、これは n + 1 番目の乱数を作るには、n 番目の乱数を知らなければならないことになります。
そうではなくて、n + 1 番目の乱数を f(n + 1) で計算できるもの( n + 1 番目の乱数を求めるのに n 番目の乱数を知らなくてもいいもの)はないでしょうか?
こういう乱数はテクニカルタームとしてはどのように呼ばれるのでしょうか?
普通の乱数生成法は、ある乱数 x を発生させたとき、次の乱数を特定の関数 f で生成させていますが、
(すなわち、次の乱数は f(x) となる)、これは n + 1 番目の乱数を作るには、n 番目の乱数を知らなければならないことになります。
そうではなくて、n + 1 番目の乱数を f(n + 1) で計算できるもの( n + 1 番目の乱数を求めるのに n 番目の乱数を知らなくてもいいもの)はないでしょうか?
こういう乱数はテクニカルタームとしてはどのように呼ばれるのでしょうか?
4デフォルトの名無しさん (ワッチョイ ffe3-bqMz)
2017/12/24(日) 02:41:31.08ID:rYvbui2B0 >>3
擬似乱数のことでいいんだよね?
今普通って言ったらメルセンヌツイスターだと思うんだけど、
「次の乱数は f(x)」 とか「f(n + 1) で計算」とかしないよ
数千bitほどの内部状態から数列を生み出すんだよ
じゃないと周期とか質が悪い
擬似乱数のことでいいんだよね?
今普通って言ったらメルセンヌツイスターだと思うんだけど、
「次の乱数は f(x)」 とか「f(n + 1) で計算」とかしないよ
数千bitほどの内部状態から数列を生み出すんだよ
じゃないと周期とか質が悪い
5デフォルトの名無しさん (ワッチョイ f32d-KysX)
2017/12/24(日) 03:04:56.70ID:NhYt16sn0 f(n + 1) で計算できるものって それはもはやHashではないかな
6デフォルトの名無しさん (ワッチョイ ff12-7LW1)
2017/12/24(日) 09:27:22.23ID:ZACWf2Ud0 適当に名づけるなら帰納的乱数とかになる
7デフォルトの名無しさん (ワッチョイ 13f2-7LW1)
2017/12/24(日) 09:52:22.24ID:RXtl733r0 >(すなわち、次の乱数は f(x) となる)、これは n + 1 番目の乱数を作るには、n 番目の乱数を知らなければならないことになります。
それランダムにならんように思うが。
それランダムにならんように思うが。
8デフォルトの名無しさん (ワッチョイ bf96-0jjC)
2017/12/24(日) 10:37:54.51ID:hPGGl0Vf0 神はサイコロを振らない
9デフォルトの名無しさん (ワッチョイ 23b3-4EoF)
2017/12/24(日) 12:15:24.33ID:k/FD7rQX0 そうなんだおじさん「そうなんだ」
10デフォルトの名無しさん (ワッチョイ 9355-9w0B)
2017/12/24(日) 13:04:44.76ID:88m+Wv2j011デフォルトの名無しさん (ワッチョイ 639f-buzn)
2017/12/24(日) 13:57:11.07ID:7ASFTRv40 >>3
普通の計算機である以上何かを元にして計算するしかないのでは?
f(n+1) を計算する時に f(n) を使わずに n を元にして計算する?
だったら乱数計算する前に必ずシードをセットするようにするしかないのではないか?
例えば rand() の直前に必ず srand() で種をセットするということね。
(実際これやると乱数にならないような気がするが)
普通の計算機である以上何かを元にして計算するしかないのでは?
f(n+1) を計算する時に f(n) を使わずに n を元にして計算する?
だったら乱数計算する前に必ずシードをセットするようにするしかないのではないか?
例えば rand() の直前に必ず srand() で種をセットするということね。
(実際これやると乱数にならないような気がするが)
12デフォルトの名無しさん (ワッチョイ ffe3-bqMz)
2017/12/24(日) 16:54:26.09ID:rYvbui2B013デフォルトの名無しさん (ブーイモ MMff-9w0B)
2017/12/24(日) 17:37:32.76ID:FUOJ/cJEM >>12
メルセンヌツイスタは乱数列を無限に出力できるのでn番目とかはないという話ですか?
メルセンヌツイスタは乱数列を無限に出力できるのでn番目とかはないという話ですか?
14デフォルトの名無しさん (ワッチョイ 2393-YNiV)
2017/12/24(日) 17:37:51.83ID:DT7VHm750 >>3 の質問の真意は
「(擬似)乱数列のn+1番目の値を出すためにn+1回のループを回す必要がない
アルゴリズムを紹介してくれ」だと思うよ。
n+1番目の乱数値を作るためにn番目までの乱数値を知る(次の値の計算に使う)
必要がある、という意味ではないでしょ。
「(擬似)乱数列のn+1番目の値を出すためにn+1回のループを回す必要がない
アルゴリズムを紹介してくれ」だと思うよ。
n+1番目の乱数値を作るためにn番目までの乱数値を知る(次の値の計算に使う)
必要がある、という意味ではないでしょ。
1514 (ワッチョイ 2393-YNiV)
2017/12/24(日) 17:43:11.44ID:DT7VHm750 おっと、「〜だと思うよ」の部分は「〜じゃないかな?」に訂正させてくれ。
読み直したら、そこまで断定する自信がなくなった。
質問者 >>3 による見解を求む。
…と言っても、いずれにせよ俺には答えられない問題だけどネ。
読み直したら、そこまで断定する自信がなくなった。
質問者 >>3 による見解を求む。
…と言っても、いずれにせよ俺には答えられない問題だけどネ。
16デフォルトの名無しさん (ワッチョイ 03c6-MZER)
2017/12/24(日) 17:57:57.47ID:KMicyDdr0 Gtk+ 3.0のGUIツールの質問はこちらでも宜しいでしょうか。
glade3.18、C言語を使用しています。
起動したgladeの右側のプロパティ画面で、
window1 GtkWindow
□|__box1 GtkBox
□□|__scrolledwindow1 GtkScrolledWindow
□□□|__viewport1 GtkViewport
□□□|____image2 GtkImage
□□□|__button1 GtkButton
のように配置すると、画面をマウスで引き伸ばしても、実行時window1のみが引き伸ばされてしまいます。
やろうとしている事は、ファイルの保存ダイアログの様に、マウスで引き伸ばしてもbutton1がwindow1と一緒に移動し、image2が引き伸ばしされている様に見せたいのですが上手くいきません。
教えてください。よろしくお願いします。
glade3.18、C言語を使用しています。
起動したgladeの右側のプロパティ画面で、
window1 GtkWindow
□|__box1 GtkBox
□□|__scrolledwindow1 GtkScrolledWindow
□□□|__viewport1 GtkViewport
□□□|____image2 GtkImage
□□□|__button1 GtkButton
のように配置すると、画面をマウスで引き伸ばしても、実行時window1のみが引き伸ばされてしまいます。
やろうとしている事は、ファイルの保存ダイアログの様に、マウスで引き伸ばしてもbutton1がwindow1と一緒に移動し、image2が引き伸ばしされている様に見せたいのですが上手くいきません。
教えてください。よろしくお願いします。
17デフォルトの名無しさん (ワッチョイ ffe3-bqMz)
2017/12/24(日) 18:24:06.76ID:rYvbui2B0 >>14
はい、そのとおりです。
ハッシュ関数(たとえばSHA-2) に対して入力0, 1, 2, を与えて得られた出力を乱数として使用することに妥当性はあるか?
もっと踏み込むと、実はストリーム暗号として使用したく考えています。
ハッシュ関数を h(x)、
暗号鍵を k
平文を M
暗号文をC
として、
C = Mi xor f(n + k), n = 0, 1, 2, ....
とした場合に、この暗号に対してどのような解読方法が考えられるか?
はい、そのとおりです。
ハッシュ関数(たとえばSHA-2) に対して入力0, 1, 2, を与えて得られた出力を乱数として使用することに妥当性はあるか?
もっと踏み込むと、実はストリーム暗号として使用したく考えています。
ハッシュ関数を h(x)、
暗号鍵を k
平文を M
暗号文をC
として、
C = Mi xor f(n + k), n = 0, 1, 2, ....
とした場合に、この暗号に対してどのような解読方法が考えられるか?
20片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd1f-1u/G)
2017/12/24(日) 19:24:00.18ID:gjaYlpPed >>16
「引き延ばし」というのは専門用語じゃないよね。位置とサイズをちゃんと指定くれないと、人間にもわからないよ。
イベント駆動については勉強した? サイズを自動調整するには、イベント駆動で「サイズ変更」のイベントを捕まえるか、自動レイアウトにするしかないよ。
「引き延ばし」というのは専門用語じゃないよね。位置とサイズをちゃんと指定くれないと、人間にもわからないよ。
イベント駆動については勉強した? サイズを自動調整するには、イベント駆動で「サイズ変更」のイベントを捕まえるか、自動レイアウトにするしかないよ。
21片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd1f-1u/G)
2017/12/24(日) 19:39:28.76ID:gjaYlpPed >>16
コンテナを使えばサイズが調整できるよ。
コンテナを使えばサイズが調整できるよ。
22デフォルトの名無しさん (ワッチョイ 2393-YNiV)
2017/12/24(日) 19:46:51.17ID:DT7VHm75023片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd1f-1u/G)
2017/12/24(日) 19:48:23.88ID:gjaYlpPed GtkBoxとGtkScrolledWindowをコンテナに。イベント駆動でサイズ調整。
24片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd1f-1u/G)
2017/12/24(日) 19:54:08.92ID:gjaYlpPed 認識しています...
25片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd1f-1u/G)
2017/12/24(日) 20:14:50.51ID:gjaYlpPed 電池切れです。今すぐ充電して下さい。
>>22
その変形は、ちょっと楽観しすぎていると思う
f(1) = af(x) + b
f(2) = a(ax + b) + b = a^2 x + ab + b
f(3) = a(a(ax + b) + b) + b = a^3 x + a^2 b + ab + b
f(4) = a^4x + b(a^3 + a^2 + a + 1)
f(5) = a^5x + b(a^4 + a^3 + a^2 + a + 1)
なんかもっときれいになりそうだけれども…
>普段は
え?それはそうみえるだけじゃないでしょうか?
その変形は、ちょっと楽観しすぎていると思う
f(1) = af(x) + b
f(2) = a(ax + b) + b = a^2 x + ab + b
f(3) = a(a(ax + b) + b) + b = a^3 x + a^2 b + ab + b
f(4) = a^4x + b(a^3 + a^2 + a + 1)
f(5) = a^5x + b(a^4 + a^3 + a^2 + a + 1)
なんかもっときれいになりそうだけれども…
>普段は
え?それはそうみえるだけじゃないでしょうか?
2722 (ワッチョイ 2393-YNiV)
2017/12/25(月) 06:33:17.53ID:kqgEt8jU028デフォルトの名無しさん (ワッチョイ 6fe7-615/)
2017/12/25(月) 08:57:25.44ID:tHA+l6fr0 割り算を割り算なしで実用的に計算する方法はありますか?
29デフォルトの名無しさん (ワッチョイ f361-bqMz)
2017/12/25(月) 09:02:10.05ID:EqnSjGj20 筆算の手順を参考に。
30デフォルトの名無しさん (ブーイモ MM67-nFIV)
2017/12/25(月) 09:54:22.59ID:8JScrlTJM31デフォルトの名無しさん (ワッチョイ cf3f-tRgI)
2017/12/25(月) 11:53:59.36ID:9U/P4ALl0 整数を2の自然数乗で割るのは右シフト演算に置き換えられる
32デフォルトの名無しさん (ササクッテロレ Sp87-D16t)
2017/12/25(月) 11:59:50.75ID:73LxKXJcp >>31
そんな些末な化石テクニックなんか、最適化に任せちまえよ。
そんな些末な化石テクニックなんか、最適化に任せちまえよ。
33デフォルトの名無しさん (スッップ Sd1f-OpNk)
2017/12/25(月) 12:19:46.91ID:rFWBa6Kid 自身をXORするとゼロクリアできる。
34デフォルトの名無しさん (アウアウカー Sac7-vdkM)
2017/12/25(月) 12:46:35.23ID:Lg9qxqUaa >>33
いや、そうだけど、ゼロの代入しても最適化されてマシン語ではそれになってることあると思うよ。CPUにもよるだろうけどね。
レジスタをゼロクリアする専用の命令があればそちらが使われるだろうし、多分その方が何も計算しない分だけ速い。
いや、そうだけど、ゼロの代入しても最適化されてマシン語ではそれになってることあると思うよ。CPUにもよるだろうけどね。
レジスタをゼロクリアする専用の命令があればそちらが使われるだろうし、多分その方が何も計算しない分だけ速い。
35デフォルトの名無しさん (ブーイモ MM27-nFIV)
2017/12/25(月) 13:19:39.85ID:CsuxTCcbM 化石テクニックの一例で出しただけでしょ
36デフォルトの名無しさん (ワッチョイ cf8a-tCZy)
2017/12/25(月) 13:25:33.64ID:yJ1YqK0V0 XORクリアはZ80ではほぼ必須テクニックだったけど、x86では意味ないよ
37デフォルトの名無しさん (アウアウカー Sac7-vdkM)
2017/12/25(月) 13:37:06.87ID:Lg9qxqUaa >>35
今時のC言語だと意味がないばかりかコンパイラの最適化の邪魔になりかねないので変な小技は忘れた方が良いと思うよ。registerとかと同じ。
今時のC言語だと意味がないばかりかコンパイラの最適化の邪魔になりかねないので変な小技は忘れた方が良いと思うよ。registerとかと同じ。
38デフォルトの名無しさん (ブーイモ MM27-nFIV)
2017/12/25(月) 14:12:39.78ID:CsuxTCcbM 俺が出したんじゃねーし
39デフォルトの名無しさん (ワッチョイ f38a-IlPN)
2017/12/25(月) 14:39:28.15ID:eNXAkvu40 >>36
sub でクリアは定番
sub でクリアは定番
40デフォルトの名無しさん (ワッチョイ 03c6-MZER)
2017/12/25(月) 18:27:45.55ID:+TGgWy910 G_MODULE_EXPORT void
cb_activate(
GtkEntry *entry1,
GtkLabel *label1)
{
gchar *buf;
buf = g_strdup_printf("文字 %s",gtk_entry_get_text(entry1));
gtk_label_set_text(label1,buf);
g_free(buf);
}
上のプログラムを参考に、GtkTextViewから文字数を得て、label1に書き込むプログラムにしようと、マニュアルを調べていたのですが、上手くいきませんでした。
insert_at_cursorのイベントから動くようにするには、どうしたらいいのでしょうか。
初歩的な質問ですみません。よろしくお願いします。
cb_activate(
GtkEntry *entry1,
GtkLabel *label1)
{
gchar *buf;
buf = g_strdup_printf("文字 %s",gtk_entry_get_text(entry1));
gtk_label_set_text(label1,buf);
g_free(buf);
}
上のプログラムを参考に、GtkTextViewから文字数を得て、label1に書き込むプログラムにしようと、マニュアルを調べていたのですが、上手くいきませんでした。
insert_at_cursorのイベントから動くようにするには、どうしたらいいのでしょうか。
初歩的な質問ですみません。よろしくお願いします。
41デフォルトの名無しさん (ワッチョイ 7f60-IIk+)
2017/12/25(月) 18:52:27.54ID:LEWwY/wL042デフォルトの名無しさん (ドコグロ MMdf-6aYH)
2017/12/25(月) 19:35:55.33ID:hykLc5AjM >>34
> レジスタをゼロクリアする専用の命令があればそちらが使われるだろうし、多分その方が何も計算しない分だけ速い。
レジスタじゃなくてメモリーだけど68000のCLR命令はなぜか0を書く前に謎の読み出しを行うので遅かったりした
> レジスタをゼロクリアする専用の命令があればそちらが使われるだろうし、多分その方が何も計算しない分だけ速い。
レジスタじゃなくてメモリーだけど68000のCLR命令はなぜか0を書く前に謎の読み出しを行うので遅かったりした
43デフォルトの名無しさん (ワッチョイ 03c6-MZER)
2017/12/25(月) 19:44:53.59ID:+TGgWy910 >>41
Cソース
https://ideone.com/324qDo
UIソース
https://ideone.com/o3pHFq
コメントにした部分は、動くことは動くけれど、ラベルが反応しない。
今の非コメント部分は、main関数は動きますが、それ以外はエラーが出ます。
動かないのを知っていて、プログラムが中途半端に書かれています。
なので責めないでください。
迷走している様子が伝わってくると思います。
Cソース
https://ideone.com/324qDo
UIソース
https://ideone.com/o3pHFq
コメントにした部分は、動くことは動くけれど、ラベルが反応しない。
今の非コメント部分は、main関数は動きますが、それ以外はエラーが出ます。
動かないのを知っていて、プログラムが中途半端に書かれています。
なので責めないでください。
迷走している様子が伝わってくると思います。
44デフォルトの名無しさん (ワッチョイ f361-bqMz)
2017/12/26(火) 09:14:44.44ID:0EsJ05iO0 >ゼロクリア
昔触った業務機は0固定のレジスタからコピーしてたな。
昔触った業務機は0固定のレジスタからコピーしてたな。
45デフォルトの名無しさん (ワッチョイ 93fb-tRgI)
2017/12/26(火) 09:52:36.67ID:yJ/B7pz80 V850?
46デフォルトの名無しさん (ブーイモ MMff-nFIV)
2017/12/26(火) 10:06:26.59ID:58V6tzNLM MIPSじゃね?
47デフォルトの名無しさん (スプッッ Sd1f-tu6d)
2017/12/26(火) 11:48:22.67ID:R8+GZeZ4d SPARCでは
48デフォルトの名無しさん (ワッチョイ 6fe7-615/)
2017/12/26(火) 13:07:44.90ID:m/Tbphkt0 乱数レジスタもあるよ
>>48
あれは乱数レジスタではなくて、リフレッシュカウンタ
あれは乱数レジスタではなくて、リフレッシュカウンタ
50デフォルトの名無しさん (ドコグロ MMdf-6aYH)
2017/12/26(火) 20:49:06.65ID:p5SWdn98M52デフォルトの名無しさん (エーイモ SE8a-/kWs)
2017/12/30(土) 17:36:17.08ID:QxhO3HdGE 先輩方また教えてください
int
hoge(int a,
_____int b)
{
____return a + b;
}
_は半角スペースだと思ってください。
こんな感じでintとhogeを別の行に書いたり
int aとint bも別の行に書いたり
こういう書き方をよく見るんですがどうしてこう書くんでしょうか?
C言語ではこういうルールがあるのでしょうか?
int
hoge(int a,
_____int b)
{
____return a + b;
}
_は半角スペースだと思ってください。
こんな感じでintとhogeを別の行に書いたり
int aとint bも別の行に書いたり
こういう書き方をよく見るんですがどうしてこう書くんでしょうか?
C言語ではこういうルールがあるのでしょうか?
53片山博文MZ ◆T6xkBnTXz7B0 (スププ Sdea-hOPe)
2017/12/30(土) 17:46:47.07ID:jArhle36d それはコーディングスタイルとか、コーディングルールとかいうけど、会社や組織によって違う。
制御構造の構造を明確にするために、「インデント」したり文字の位置を揃えたりする。
まあ、初心者ならANSIスタイル使っておけば無難かな。
制御構造の構造を明確にするために、「インデント」したり文字の位置を揃えたりする。
まあ、初心者ならANSIスタイル使っておけば無難かな。
54片山博文MZ ◆T6xkBnTXz7B0 (スププ Sdea-hOPe)
2017/12/30(土) 17:49:08.58ID:jArhle36d コード整形ツールというのを使えば、ソースのスタイルを変換できる。
55片山博文MZ ◆T6xkBnTXz7B0 (スププ Sdea-hOPe)
2017/12/30(土) 17:50:39.34ID:jArhle36d インデントするときはTabキーが便利。
56デフォルトの名無しさん (ワッチョイ 0b9f-RYVm)
2017/12/30(土) 17:52:13.74ID:Xyp0qNcm0 >>52
> こういう書き方をよく見る
嘘つくな。
というか、本当にそう思うのなら見るべきソースを間違っている。
いずれにしても、初心者がその手のコーディングスタイルについて考えるのは完全に時間の無駄だから、
どれでもいいから有名なコーディングルールを読んで、それを使うようにしろ。
お前が今読んでいるそのコードに対して追加/修正が求められているのなら、
グダグダ言わずにそのスタイルで書け。
繰り返すが、初心者がコーディングスタイルにこだわるのは全くの無駄だから、止めろ。
君が入門書を読んで勉強しているのなら、その本のスタイル通りに書け。
初めはそれでいい。
> こういう書き方をよく見る
嘘つくな。
というか、本当にそう思うのなら見るべきソースを間違っている。
いずれにしても、初心者がその手のコーディングスタイルについて考えるのは完全に時間の無駄だから、
どれでもいいから有名なコーディングルールを読んで、それを使うようにしろ。
お前が今読んでいるそのコードに対して追加/修正が求められているのなら、
グダグダ言わずにそのスタイルで書け。
繰り返すが、初心者がコーディングスタイルにこだわるのは全くの無駄だから、止めろ。
君が入門書を読んで勉強しているのなら、その本のスタイル通りに書け。
初めはそれでいい。
57デフォルトの名無しさん (ブーイモ MM76-C14s)
2017/12/30(土) 17:52:35.86ID:oaZtakGBM >>52
cb とか indent ってコマンドがある
cb とか indent ってコマンドがある
58片山博文MZ ◆T6xkBnTXz7B0 (スププ Sdea-hOPe)
2017/12/30(土) 17:53:57.97ID:jArhle36d C言語では文字列以外の空白はほとんど無視されるから、処理を一行に長〜く書くことが
できるけど、それでは人間には分かりにくいし、読みづらい。
できるけど、それでは人間には分かりにくいし、読みづらい。
59片山博文MZ ◆T6xkBnTXz7B0 (スププ Sdea-hOPe)
2017/12/30(土) 18:16:01.37ID:jArhle36d ANSIスタイル、K&Rスタイル、GNUスタイル
60デフォルトの名無しさん (スッップ Sdea-7LGL)
2017/12/30(土) 18:16:52.49ID:l+pzRLn8d61片山博文MZ ◆T6xkBnTXz7B0 (スププ Sdea-hOPe)
2017/12/30(土) 18:56:08.15ID:jArhle36d GNUスタイルは大嫌いだったな。K&Rは行数削れるから、最初のころ使っていたけど。
62デフォルトの名無しさん (アウアウカー Sacb-9mWg)
2017/12/30(土) 19:19:44.15ID:bLWDJrONa >>52
人間が見る時の見易さのためだけにそう書いているのがある。言語としての決まりはない。
C言語で改行に意味があるのはダブルクォーテーションで括った文字列内とプリプロセッサが処理する#で始まる行ぐらいだ。
人間が見る時の見易さのためだけにそう書いているのがある。言語としての決まりはない。
C言語で改行に意味があるのはダブルクォーテーションで括った文字列内とプリプロセッサが処理する#で始まる行ぐらいだ。
63デフォルトの名無しさん (ワッチョイ ff89-OTe3)
2018/01/03(水) 19:26:04.56ID:AMJZwzU90 ,,-―--、
|:::::::::::::;;;ノ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|::::::::::( 」 <見るべきソースを間違っている。
ノノノ ヽ_l \______________
,,-┴―┴- 、 ∩_
/,|┌-[]─┐| \ ( ノ
/ ヽ| | バ | '、/\ / /
/ `./| | カ | |\ /
\ ヽ| lゝ | | \__/
\ |  ̄ ̄ ̄ |
⊂|______|
|l_l i l_l |
| ┬ |
|:::::::::::::;;;ノ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|::::::::::( 」 <見るべきソースを間違っている。
ノノノ ヽ_l \______________
,,-┴―┴- 、 ∩_
/,|┌-[]─┐| \ ( ノ
/ ヽ| | バ | '、/\ / /
/ `./| | カ | |\ /
\ ヽ| lゝ | | \__/
\ |  ̄ ̄ ̄ |
⊂|______|
|l_l i l_l |
| ┬ |
64デフォルトの名無しさん (ワッチョイ 0b9f-QE/9)
2018/01/04(木) 03:49:55.19ID:i5eFl8wN065デフォルトの名無しさん (アウアウカー Sa4f-q6P5)
2018/01/04(木) 22:13:01.12ID:nzw/Y4fXa char p[]="aiueo";
p[3]='\0';
ではエラー出ないのに
char *p="aiueo";
*(p+3)='\0';
は書き込み違反になるのは何故なの
p[3]='\0';
ではエラー出ないのに
char *p="aiueo";
*(p+3)='\0';
は書き込み違反になるのは何故なの
66デフォルトの名無しさん (アークセー Sxcf-IYiY)
2018/01/04(木) 22:16:54.08ID:WGw/XlWzx >>65
前者は配列変数のp、後者は定数を指してるポインタのp。
前者は配列変数のp、後者は定数を指してるポインタのp。
67デフォルトの名無しさん (ワッチョイ cbb3-stpt)
2018/01/04(木) 22:20:46.48ID:Nl4WK1Y+0 前者は文字列リテラルの複製を配列にセットしたうえで配列を書き換えてる
後者は(ポインタ経由で)文字列リテラルそのものを書き換えている
後者は(ポインタ経由で)文字列リテラルそのものを書き換えている
68デフォルトの名無しさん (アウアウカー Sa4f-q6P5)
2018/01/04(木) 22:25:12.39ID:nzw/Y4fXa69デフォルトの名無しさん (ワッチョイ 0b9f-hL1C)
2018/01/05(金) 04:42:55.46ID:/8+f7RxD0 前スレでも話題になったね。
http://mevius.5ch.net/test/read.cgi/tech/1509107288/936
http://mevius.5ch.net/test/read.cgi/tech/1509107288/936
70デフォルトの名無しさん (ワッチョイ 3b89-2A+B)
2018/01/05(金) 11:52:20.32ID:e4FSU8sj0 char *p="aiueo"; //これが通るのは必要悪
const char *p="aiueo"; //本来こうであるべき
*(p+3)='\0'; //constついてりゃ並みのアフォなら気付けるはず
const char *p="aiueo"; //本来こうであるべき
*(p+3)='\0'; //constついてりゃ並みのアフォなら気付けるはず
71デフォルトの名無しさん (ササクッテロレ Spcf-438m)
2018/01/05(金) 16:14:27.78ID:sDpuhJDsp constの意味がわかって無いアホ。
リテラルが書き換えられないだけで、ポインターは別に書き換えてもいいだろ。
リテラルが書き換えられないだけで、ポインターは別に書き換えてもいいだろ。
72デフォルトの名無しさん (ワッチョイ 0fea-stpt)
2018/01/05(金) 16:41:35.06ID:YLrUpulc0 char * const と const char * の違い
73デフォルトの名無しさん (ワッチョイ 1fd6-2A+B)
2018/01/05(金) 17:54:32.46ID:SpC7EOR80 >>71
ブーメランおいしい?www
ブーメランおいしい?www
74デフォルトの名無しさん (アウアウカー Sa4f-dSb4)
2018/01/05(金) 18:07:43.83ID:T2NhU/kFa そういや前にどこにconst入れるとどこが定数扱いになるか色々やって調べたことあるなあ。
75デフォルトの名無しさん (アウアウウー Sa8f-hL1C)
2018/01/05(金) 18:28:56.45ID:/3vfwTzea const char *p; と char const *p; は p が指す先が定数で char * const p; は p 自体が定数なんだよね。
76デフォルトの名無しさん (アウアウカー Sa4f-dSb4)
2018/01/05(金) 19:10:23.97ID:T2NhU/kFa まあしかしコンパイラには char *p = "..."; の宣言で *p に書き込みアクセスするような記述を見つけたら警告ぐらい出して欲しいところだな。
実際に(少なくともデフォルトでは)動かないコード吐くわけだし。
実際に(少なくともデフォルトでは)動かないコード吐くわけだし。
77デフォルトの名無しさん (スッップ Sdbf-IYiY)
2018/01/05(金) 20:16:53.14ID:q5xsNlvVd ポインタである以上なんでも指せるし、
どう使うかは完全に自己責任では?
どう使うかは完全に自己責任では?
78デフォルトの名無しさん (ワッチョイ 0b9f-hL1C)
2018/01/05(金) 20:55:22.53ID:/8+f7RxD0 ま、確かに。他の所を指すように使い回せるけどね。うーん。
79デフォルトの名無しさん (ワッチョイ 4b9f-Ogju)
2018/01/05(金) 21:56:39.58ID:IkbAePsg0 >>70に加えて、
const char* const p = "aiueo"; // p も *p も const
も使い分ければいいだけだろ。
つってもこの書き方、非標準なのか?以下ページ以外では見あたらない。
https://qiita.com/pink_bangbi/items/a36617bf1d5923743d69
const char* const p = "aiueo"; // p も *p も const
も使い分ければいいだけだろ。
つってもこの書き方、非標準なのか?以下ページ以外では見あたらない。
https://qiita.com/pink_bangbi/items/a36617bf1d5923743d69
80デフォルトの名無しさん (ワッチョイ 1fd6-5YeV)
2018/01/06(土) 08:11:50.88ID:9HgF2CnS0 >>79
ISO/IEC 9899:2011 A.2.2に書いてあるんだが、おまえさんには見えないのか?
7.3) type-qualifier:
const
restrict
volatile
_Atomic
7.6) pointer:
* type-qualifier-listopt
* type-qualifier-listopt pointer
7.6) type-qualifier-list:
type-qualifier
type-qualifier-list type-qualifier
ISO/IEC 9899:2011 A.2.2に書いてあるんだが、おまえさんには見えないのか?
7.3) type-qualifier:
const
restrict
volatile
_Atomic
7.6) pointer:
* type-qualifier-listopt
* type-qualifier-listopt pointer
7.6) type-qualifier-list:
type-qualifier
type-qualifier-list type-qualifier
81デフォルトの名無しさん (ワッチョイ 9b7f-rQp9)
2018/01/06(土) 11:14:58.36ID:3YD8ke1c0 char **pをconstするとそんな感じにならなかったけ?
82デフォルトの名無しさん (アウアウウー Sa8f-hL1C)
2018/01/06(土) 16:50:26.91ID:Dhtt7sCWa あ、こういう問題作れるね。
・ それぞれの違いについて説明せよ。
const char **p
char const **p
char * const *p
char ** const p
char * const *p
char * const * const p
char const * const * const p
char const ** const p
・ それぞれの違いについて説明せよ。
const char **p
char const **p
char * const *p
char ** const p
char * const *p
char * const * const p
char const * const * const p
char const ** const p
83デフォルトの名無しさん (ワッチョイ 4b9f-Ogju)
2018/01/06(土) 18:52:18.14ID:0jo5cy8h0 >>82
悪問だけどな。結局の所、
・constは複数回指定できる
・constの右側の固まり全体が定数と見なされる
だけだし。逆に言えば、それらを別物/良問として認識するような奴は上達しないのだと思う。
(記憶の前処理としてabstractionする癖がない)
だからこれまでそんな馬鹿げた問題を出す奴はC界隈には居なかったし、今後も多分そうだ。
CodeIQの広告でその手の問題をよく見るが、あれじゃ「馬鹿です」と自己紹介して居るも同然だし。
まあ所詮リクルート(コード書いてない連中)だからそんなもんだが。
とはいえ、何らかのテストで簡単にそいつの実力を把握できる事が出来るのなら、役立つのも確かだが。
そしてそれ以前にconstが大して役に立たないからなあ。
悪問だけどな。結局の所、
・constは複数回指定できる
・constの右側の固まり全体が定数と見なされる
だけだし。逆に言えば、それらを別物/良問として認識するような奴は上達しないのだと思う。
(記憶の前処理としてabstractionする癖がない)
だからこれまでそんな馬鹿げた問題を出す奴はC界隈には居なかったし、今後も多分そうだ。
CodeIQの広告でその手の問題をよく見るが、あれじゃ「馬鹿です」と自己紹介して居るも同然だし。
まあ所詮リクルート(コード書いてない連中)だからそんなもんだが。
とはいえ、何らかのテストで簡単にそいつの実力を把握できる事が出来るのなら、役立つのも確かだが。
そしてそれ以前にconstが大して役に立たないからなあ。
84デフォルトの名無しさん (ワッチョイ 0b9f-hL1C)
2018/01/06(土) 19:00:28.28ID:BwjYxRoc0 >>83
> ・constの右側の固まり全体が定数と見なされる
え? これ違わない? というのは
const char *p = "...";
の場合は p は p++ できたりして const じゃないから右側の塊ではない。
> ・constの右側の固まり全体が定数と見なされる
え? これ違わない? というのは
const char *p = "...";
の場合は p は p++ できたりして const じゃないから右側の塊ではない。
85デフォルトの名無しさん (ワッチョイ 4b9f-Ogju)
2018/01/06(土) 19:13:55.66ID:0jo5cy8h0 >>84
お前は上達しないタイプだね
お前は上達しないタイプだね
86デフォルトの名無しさん (ワッチョイ 0b9f-hL1C)
2018/01/06(土) 19:53:29.84ID:BwjYxRoc0 いやあ、それほどでも。
88デフォルトの名無しさん (ワッチョイ 9f87-438m)
2018/01/06(土) 20:41:46.13ID:a2JToFVw0 変数型宣言と初期化を同時に記述してっからそうなるんだろ?
89デフォルトの名無しさん (ワッチョイ 9fb3-TPPA)
2018/01/06(土) 20:49:46.88ID:A2dnXNCo0 >>82
1: const char **p
2: char const **p
3: char * const *p
4: char ** const p
5: char * const *p
6: char * const * const p
7: char const * const * const p
8: char const ** const p
1と2、3と5は同じ
char **pとchar const * const *pのパターンがない
こういう奴はプログラマーに向いてない
1: const char **p
2: char const **p
3: char * const *p
4: char ** const p
5: char * const *p
6: char * const * const p
7: char const * const * const p
8: char const ** const p
1と2、3と5は同じ
char **pとchar const * const *pのパターンがない
こういう奴はプログラマーに向いてない
90デフォルトの名無しさん (ワッチョイ 0b9f-hL1C)
2018/01/06(土) 21:08:00.94ID:BwjYxRoc0 キリッ
91デフォルトの名無しさん (ワッチョイ 4b9f-Ogju)
2018/01/06(土) 22:07:37.32ID:0jo5cy8h0 >>87
例外ではない。
char部分はCでは常にcons扱い(=int等に変更できない)だから
constが修飾する対象に仕様上なり得ないだけ。
だからその2つは結果的に同じ意味になる。
というかCは文法例外はほぼ無いはず。
例外ではない。
char部分はCでは常にcons扱い(=int等に変更できない)だから
constが修飾する対象に仕様上なり得ないだけ。
だからその2つは結果的に同じ意味になる。
というかCは文法例外はほぼ無いはず。
92デフォルトの名無しさん (ワッチョイ 9f87-438m)
2018/01/07(日) 00:49:57.01ID:8rHqhWQu0 c++と勘違いしてね?
93デフォルトの名無しさん
2018/01/07(日) 06:32:55.29 自分流に解釈して覚えるのはいいけど、それが世界の真実かのように講釈するのは恥ずかしいから控えた方がいいよ
まあこのスレではいいけど、リアルの人間関係では陰で馬鹿にされるだけだよ
まあこのスレではいいけど、リアルの人間関係では陰で馬鹿にされるだけだよ
94デフォルトの名無しさん (ワッチョイ 0bbb-2A+B)
2018/01/07(日) 19:53:30.95ID:8XJu4dlo095デフォルトの名無しさん (ワッチョイ 0bbb-2A+B)
2018/01/07(日) 19:54:10.54ID:8XJu4dlo0 いかん、間違えた
おまえさん char c; (int)c = 1; が許されないことと勘違いしているのか?
おまえさん char c; (int)c = 1; が許されないことと勘違いしているのか?
96デフォルトの名無しさん
2018/01/07(日) 20:44:34.88 ほらね、共通語をしゃべらないから話が発散する
97デフォルトの名無しさん (ブーイモ MM8f-jEmF)
2018/01/08(月) 15:01:42.36ID:3+trBLI4M >>95
これってcをintに拡張して1を代入してcをcharに戻すの?
これってcをintに拡張して1を代入してcをcharに戻すの?
98デフォルトの名無しさん (ワッチョイ 1f5b-5YeV)
2018/01/08(月) 15:27:35.06ID:u4QX+fVn099デフォルトの名無しさん
2018/01/08(月) 15:31:40.17100デフォルトの名無しさん (ササクッテロレ Spcf-438m)
2018/01/08(月) 15:33:23.37ID:xTC/W6bpp 思いっきりメモリーリークして実行時に大暴走する悪寒しかしない。
101デフォルトの名無しさん (ワッチョイ 2bb3-RrJ/)
2018/01/08(月) 16:09:19.72ID:eKvnY0O/0 (int)cって右辺値じゃないの?
102デフォルトの名無しさん (ワッチョイ 1f5b-5YeV)
2018/01/08(月) 17:43:28.20ID:u4QX+fVn0103デフォルトの名無しさん (ブーイモ MM7f-jEmF)
2018/01/08(月) 17:56:03.73ID:YTvuEBugM >>98
俺は初見ではcはcharのまま代入されて代入後の値がintとして評価されると見たんだが
俺は初見ではcはcharのまま代入されて代入後の値がintとして評価されると見たんだが
104デフォルトの名無しさん (ワッチョイ 4b9f-Ogju)
2018/01/08(月) 18:25:44.79ID:8LuLzpAV0105デフォルトの名無しさん (ワッチョイ 1f5b-5YeV)
2018/01/08(月) 19:03:01.62ID:u4QX+fVn0 若造が見たことないのは仕方ないよ
活発に議論されていたのがC89制定を目指していた頃のことだから
活発に議論されていたのがC89制定を目指していた頃のことだから
106デフォルトの名無しさん (ワッチョイ 0f81-s6pf)
2018/01/08(月) 19:11:59.23ID:tyeiJEzF0 おじいちゃん、若い人いじめちゃだめだよ
107デフォルトの名無しさん (ワッチョイ cbb3-stpt)
2018/01/08(月) 19:14:15.10ID:RVv57Yq50 >>84,87,91,95 の流れがよくわからん
const <type> *p = ... が <type> const *p = ... と等価となる理由が例外ではなく
p を左辺値と解釈する隙間があるから ってこと?
const <type> *p = ... が <type> const *p = ... と等価となる理由が例外ではなく
p を左辺値と解釈する隙間があるから ってこと?
108デフォルトの名無しさん (ワッチョイ 1f5b-5YeV)
2018/01/08(月) 19:26:48.32ID:u4QX+fVn0 >>106
一児の父だが孫はまだいねえよ
一児の父だが孫はまだいねえよ
109デフォルトの名無しさん (ワッチョイ 4b9f-Ogju)
2018/01/08(月) 19:45:48.59ID:8LuLzpAV0 >>107
例外じゃないって立場は俺しか居ないのか?
その場合、お前らはこれを整合性よく説明できない馬鹿共だということになるが、それで良いか?
逆に考えてみろ。
君がそれを「例外」だとしているのなら、つまり「例外」でなければ君は
const <type> *p = ... // (A)
<type> const *p = ... // (B)
で意味が違うべきだというわけだ。
その場合、それぞれどういう意味と捉えるべきだと考えるのか、言えるか?
例外じゃないって立場は俺しか居ないのか?
その場合、お前らはこれを整合性よく説明できない馬鹿共だということになるが、それで良いか?
逆に考えてみろ。
君がそれを「例外」だとしているのなら、つまり「例外」でなければ君は
const <type> *p = ... // (A)
<type> const *p = ... // (B)
で意味が違うべきだというわけだ。
その場合、それぞれどういう意味と捉えるべきだと考えるのか、言えるか?
110デフォルトの名無しさん (ワッチョイ cbb3-stpt)
2018/01/08(月) 19:52:07.48ID:RVv57Yq50 少なくとも俺は そういうもんだと覚えてるだけで説明はできない
111デフォルトの名無しさん (ワッチョイ 9fb3-TPPA)
2018/01/08(月) 20:23:19.52ID:7hYpzMEE0 こんなの決め事なんだからもしそう言うのがあったとしても
> その場合、それぞれどういう意味と捉えるべきだと考えるのか、言えるか?
は、作った奴に聞くしかないだろ
> その場合、それぞれどういう意味と捉えるべきだと考えるのか、言えるか?
は、作った奴に聞くしかないだろ
112デフォルトの名無しさん
2018/01/08(月) 20:24:38.73 例外でもなんでもなく、単にC言語の標準規格がそうなっているからとしか言いようがないけどな。
宣言指定子 (declaration specifier) は以下の3要素から構成されている (順不同)。
・記憶クラス指定子 (storage class specifier) : auto, register, static, extern, typedef
・型指定子 (type specifier) : void, char, short, int, long, float, double, signed, unsigned, struct/union指定子, enum指定子、typedef名
・型修飾子 (type qualifier) : const, volatile
ポインタ宣言子 (pointer) は以下の2要素から構成されている。
・*
・型修飾子 (type qualifier) リスト
いろいろ省略してるので細部は不正確かもしれないがC89ではだいたいこんな感じ。
参考: C11のYacc文法 http://www.quut.com/c/ANSI-C-grammar-y.html
で、なぜそうなっているかを自分流に解釈して自分の中で整合性を取るのはいいけど、それを他人に押しつけるなってことだね。
宣言指定子 (declaration specifier) は以下の3要素から構成されている (順不同)。
・記憶クラス指定子 (storage class specifier) : auto, register, static, extern, typedef
・型指定子 (type specifier) : void, char, short, int, long, float, double, signed, unsigned, struct/union指定子, enum指定子、typedef名
・型修飾子 (type qualifier) : const, volatile
ポインタ宣言子 (pointer) は以下の2要素から構成されている。
・*
・型修飾子 (type qualifier) リスト
いろいろ省略してるので細部は不正確かもしれないがC89ではだいたいこんな感じ。
参考: C11のYacc文法 http://www.quut.com/c/ANSI-C-grammar-y.html
で、なぜそうなっているかを自分流に解釈して自分の中で整合性を取るのはいいけど、それを他人に押しつけるなってことだね。
113デフォルトの名無しさん (ワッチョイ 1f5b-5YeV)
2018/01/08(月) 20:24:45.15ID:u4QX+fVn0 ちゃんと理詰めで理解できるやつもいれば
暗記するしかないやつもいる
世の中、人それぞれだな
暗記するしかないやつもいる
世の中、人それぞれだな
114デフォルトの名無しさん
2018/01/08(月) 20:39:32.52115デフォルトの名無しさん (ワッチョイ 9fb3-TPPA)
2018/01/08(月) 20:54:58.77ID:7hYpzMEE0116デフォルトの名無しさん (ワッチョイ 1f5b-5YeV)
2018/01/08(月) 21:18:47.34ID:u4QX+fVn0 「 ̄ `ヽ、 ______
L -‐ '´  ̄ `ヽ- 、 〉
/ ヽ\ /
// / / ヽヽ ヽ〈
ヽ、レ! { ム-t ハ li 、 i i }ト、
ハN | lヽ八l ヽjハVヽ、i j/ l !
/ハ. l ヽk== , r= 、ノルl lL」
ヽN、ハ l ┌‐┐ ゙l ノl l
ヽトjヽ、 ヽ_ノ ノ//レ′
r777777777tノ` ー r ´フ/′
j´ニゝ l|ヽ _/`\
〈 ‐ 知ってるが lト、 / 〃ゝ、
〈、ネ.. .lF V=="/ イl.
ト |お前の態度が とニヽ二/ l
ヽ.|l 〈ー- ! `ヽ. l
|l気に入らない lトニ、_ノ ヾ、!
|l__________l| \ ソ
L -‐ '´  ̄ `ヽ- 、 〉
/ ヽ\ /
// / / ヽヽ ヽ〈
ヽ、レ! { ム-t ハ li 、 i i }ト、
ハN | lヽ八l ヽjハVヽ、i j/ l !
/ハ. l ヽk== , r= 、ノルl lL」
ヽN、ハ l ┌‐┐ ゙l ノl l
ヽトjヽ、 ヽ_ノ ノ//レ′
r777777777tノ` ー r ´フ/′
j´ニゝ l|ヽ _/`\
〈 ‐ 知ってるが lト、 / 〃ゝ、
〈、ネ.. .lF V=="/ イl.
ト |お前の態度が とニヽ二/ l
ヽ.|l 〈ー- ! `ヽ. l
|l気に入らない lトニ、_ノ ヾ、!
|l__________l| \ ソ
117デフォルトの名無しさん (ワッチョイ 9fb3-TPPA)
2018/01/08(月) 21:37:19.02ID:7hYpzMEE0 敗北宣言かよ w
118デフォルトの名無しさん (ワッチョイ 1f5b-5YeV)
2018/01/08(月) 21:43:42.37ID:u4QX+fVn0 無知なやつには
恥をかかせるよりも
教えないことが最も堪えるからな
恥をかかせるよりも
教えないことが最も堪えるからな
119デフォルトの名無しさん (ワッチョイ 9fb3-TPPA)
2018/01/08(月) 21:47:27.34ID:7hYpzMEE0 何を教えるつもりなんだろう...
俺が思う正解は>>111に書いてあるんだが w
俺が思う正解は>>111に書いてあるんだが w
120デフォルトの名無しさん (ワッチョイ 1f5b-5YeV)
2018/01/08(月) 21:51:24.43ID:u4QX+fVn0 悪党の泣き声は言い響きだ
何を教えるつもりなのか聞き出したいんだなあwww
何を教えるつもりなのか聞き出したいんだなあwww
121デフォルトの名無しさん (ワッチョイ 9fb3-TPPA)
2018/01/08(月) 21:56:08.87ID:7hYpzMEE0 どうせなにも出てこないのは既にわかってる
って>>115みりゃわかると思うんだが w
って>>115みりゃわかると思うんだが w
正直なところ
const int x
と
int const x
は同等、
というのは、決め事でいいと思うよ、何もかも原理原則で理解できる(までに細かくパースできる)人にはどうでもいいのかもしれないが。
‥えっと、細かい人にとって、この場合どうでもいいのか、どうでもよくないのか、どっちだったっけ??
const int x
と
int const x
は同等、
というのは、決め事でいいと思うよ、何もかも原理原則で理解できる(までに細かくパースできる)人にはどうでもいいのかもしれないが。
‥えっと、細かい人にとって、この場合どうでもいいのか、どうでもよくないのか、どっちだったっけ??
123デフォルトの名無しさん (ワッチョイ 0fe9-7jJO)
2018/01/08(月) 21:58:47.99ID:0mTJv+h60 知らないし、相手が嫌いだから教え(られ)ない
124デフォルトの名無しさん (ワッチョイ 8ba8-15OS)
2018/01/08(月) 22:04:03.83ID:t4bSGeIh0 同等も何も、修飾する主体が変数だけなんだから、何をどう変えろと?
対象がポインタなのかポインタの内容なのかって話に意味の無い例を挙げてどうしたいんだ?
対象がポインタなのかポインタの内容なのかって話に意味の無い例を挙げてどうしたいんだ?
125デフォルトの名無しさん (ワッチョイ 1f5b-5YeV)
2018/01/08(月) 22:17:28.76ID:u4QX+fVn0 収穫ゼロ
ざ ま あ www
ざ ま あ www
126デフォルトの名無しさん (ワッチョイ 4b9f-Ogju)
2018/01/08(月) 22:43:40.28ID:8LuLzpAV0 >>116
>>125
禿同
というかいい加減、知らない奴が煽るとか止めろよドアホ共。それは長期的にスレを毀損する。
なお、俺は知っている奴が馬鹿を糞味噌に貶すのを止めはしない。
馬鹿なこと言わなきゃいいだけだし、
逆に、これが出来ないのがID制フォーラムが腐る原因だと思っているから。
ヒントは既に書いたし、それ以前にC流の文法解釈をすれば特段不自然でもないし。
「例外」だと言いつつ(A)≠(B)を妥当とする根拠もないのはただの自己矛盾だと気付け。
そしてK&RはCの作者によって書かれているんだが、それも知らないのか?
Cしかなかった昔ならともかく、今お前らみたいな馬鹿がCやる理由は無いと思うんだがなぁ。
>>125
禿同
というかいい加減、知らない奴が煽るとか止めろよドアホ共。それは長期的にスレを毀損する。
なお、俺は知っている奴が馬鹿を糞味噌に貶すのを止めはしない。
馬鹿なこと言わなきゃいいだけだし、
逆に、これが出来ないのがID制フォーラムが腐る原因だと思っているから。
ヒントは既に書いたし、それ以前にC流の文法解釈をすれば特段不自然でもないし。
「例外」だと言いつつ(A)≠(B)を妥当とする根拠もないのはただの自己矛盾だと気付け。
そしてK&RはCの作者によって書かれているんだが、それも知らないのか?
Cしかなかった昔ならともかく、今お前らみたいな馬鹿がCやる理由は無いと思うんだがなぁ。
127デフォルトの名無しさん
2018/01/08(月) 23:14:54.65 >>126
で、K&Rのどの記述からconstに関する解釈(constの右側の固まり全体が定数と見なされる)を読み取ったの?
で、K&Rのどの記述からconstに関する解釈(constの右側の固まり全体が定数と見なされる)を読み取ったの?
128デフォルトの名無しさん (ワッチョイ 1f5b-5YeV)
2018/01/08(月) 23:16:56.57ID:u4QX+fVn0 K&Rにconstはねえな
constの設計は髭と禿の合作だが
constの設計は髭と禿の合作だが
129デフォルトの名無しさん (ワッチョイ 4b9f-Ogju)
2018/01/08(月) 23:27:43.34ID:8LuLzpAV0130デフォルトの名無しさん (ワッチョイ 1f5b-5YeV)
2018/01/08(月) 23:28:56.73ID:u4QX+fVn0 おまえの手元のK&RってISBNはいくつだ?
131デフォルトの名無しさん (ワッチョイ 1f5b-5YeV)
2018/01/08(月) 23:40:40.21ID:u4QX+fVn0 眠い・・・落ちるぞ
132デフォルトの名無しさん (ワッチョイ 8b23-hL1C)
2018/01/09(火) 00:38:27.40ID:zckyAnL00 緑色のK&Rを読破するのに20年かかったわ
133デフォルトの名無しさん (ワッチョイ 9fb3-TPPA)
2018/01/09(火) 05:02:03.58ID:/Jm0Q1+w0 煽ることしかできないアホ ⇒ ID:u4QX+fVn0, ID:8LuLzpAV0
134デフォルトの名無しさん (アウアウカー Sa4f-dSb4)
2018/01/09(火) 09:57:35.67ID:2pt0JvoIa 人の事はどうでもいい。Cの話を書け。
135デフォルトの名無しさん (スフッ Sdbf-7jJO)
2018/01/09(火) 09:59:26.50ID:cELqpMaXd おまえもなー
136デフォルトの名無しさん (ワッチョイ 0bf6-5YeV)
2018/01/09(火) 10:17:45.46ID:BapSTNU/0 constがないK&Rが本のことだと思ったアフォはもう死んじまったのか?
137デフォルトの名無しさん (ワッチョイ bb8a-ICSi)
2018/01/09(火) 12:48:57.63ID:TNcFjeMv0 家のは、4-320-02145-2だけど、constは無いな
138デフォルトの名無しさん (ワッチョイ 0f8a-jAz5)
2018/01/09(火) 13:34:20.42ID:IJNuACex0 プログラミング言語Cの第2版(白本)は初版(緑本)と違ってANSI規格準拠
型修飾子や型指定子の項目にconstは存在する
というかconstとvolatileはANSI標準で新設されたものと明言されてる
一般には同一著者なので第2版まで含めてK&R本と呼ばれているから紛らわしい
型修飾子や型指定子の項目にconstは存在する
というかconstとvolatileはANSI標準で新設されたものと明言されてる
一般には同一著者なので第2版まで含めてK&R本と呼ばれているから紛らわしい
139デフォルトの名無しさん (ワッチョイ bb8a-ICSi)
2018/01/09(火) 13:44:26.69ID:TNcFjeMv0 緑は初版じゃ無いよ。
初版は白。だから紛らわしいの。
初版は白。だから紛らわしいの。
140デフォルトの名無しさん (ワッチョイ 0f8a-jAz5)
2018/01/09(火) 13:50:33.71ID:IJNuACex0141デフォルトの名無しさん (ワッチョイ bb8a-ICSi)
2018/01/09(火) 14:03:02.91ID:TNcFjeMv0 プレンティスホール版で言う所の「ANSI DRAFT」の斜線入り
に相当する版が緑色だったかと。
4.xBSDやOS-9がこの前の版のCなので、未だに残っているんでしょうね
に相当する版が緑色だったかと。
4.xBSDやOS-9がこの前の版のCなので、未だに残っているんでしょうね
142デフォルトの名無しさん (ドコグロ MM8f-TPPA)
2018/01/09(火) 19:00:39.00ID:7lOmzbTzM143デフォルトの名無しさん (ワッチョイ 0bf6-8O7H)
2018/01/09(火) 21:51:12.35ID:BapSTNU/0 ゴガギーン
ドッカン
m ドッカン
=====) )) ☆
∧_∧ | | / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( )| |_____ ∧_∧ < おらっ!出てこいOgju
「 ⌒ ̄ | | || (´Д` ) \___________
| /  ̄ | |/ 「 \
| | | | || || /\\
| | | | | へ//| | | |
| | | ロ|ロ |/,へ \| | | |
| ∧ | | | |/ \ / ( )
| | | |〈 | | | |
/ / / / | / | 〈| | |
/ / / / | | || | |
/ / / / =-----=-------- | |
ドッカン
m ドッカン
=====) )) ☆
∧_∧ | | / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( )| |_____ ∧_∧ < おらっ!出てこいOgju
「 ⌒ ̄ | | || (´Д` ) \___________
| /  ̄ | |/ 「 \
| | | | || || /\\
| | | | | へ//| | | |
| | | ロ|ロ |/,へ \| | | |
| ∧ | | | |/ \ / ( )
| | | |〈 | | | |
/ / / / | / | 〈| | |
/ / / / | | || | |
/ / / / =-----=-------- | |
144デフォルトの名無しさん (アウアウウー Sa8f-sUx7)
2018/01/10(水) 15:16:41.95ID:Gpgf6C5da おまいらはとにかく優しくない
145デフォルトの名無しさん (アウアウカー Sa4f-dSb4)
2018/01/10(水) 15:34:00.74ID:Y4Jjv91Na つまり君は愛を求めてここに来たんだね。
146デフォルトの名無しさん (ワッチョイ 3b22-8O7H)
2018/01/10(水) 15:51:40.83ID:4q6sC60X0 お笑いぐさだな
147デフォルトの名無しさん (ワッチョイ 4f23-ldot)
2018/01/10(水) 18:12:49.28ID:b0jd81470 openじゃなくてfopenみたいに、ファイルの存在確認のaccess関数に
対応するちょっと上位の標準関数ってある?
対応するちょっと上位の標準関数ってある?
148デフォルトの名無しさん (アウアウカー Sa4f-dSb4)
2018/01/10(水) 18:24:05.75ID:lfXyh+0pa >>147
stat()とfstat()なんかどうだ?
まあでもopen(), fopen()の関係とは違うけどな。
open()はシステムコールだがfopen()はライブラリ関数だ。
(UNIX系OSの話ではあるが)。
stat()とfstat()なんかどうだ?
まあでもopen(), fopen()の関係とは違うけどな。
open()はシステムコールだがfopen()はライブラリ関数だ。
(UNIX系OSの話ではあるが)。
149デフォルトの名無しさん (アウアウウー Sa8f-sUx7)
2018/01/10(水) 19:13:04.16ID:7FV5Lym6a 俺の希望は、たいしたやりたくもないけど、
ちょっとやってみたら?とか丁寧に教えるからやってみなよ!
とかさ、そういう感じで優しく接してもらってだな、で、出来も悪いからなかなか覚えないけどそれでも教える側が知恵を絞ってどうにかうまく理解させる方法はないだろうかと創意工夫して育てる環境というのかな。とにかく頼むよまじ
ちょっとやってみたら?とか丁寧に教えるからやってみなよ!
とかさ、そういう感じで優しく接してもらってだな、で、出来も悪いからなかなか覚えないけどそれでも教える側が知恵を絞ってどうにかうまく理解させる方法はないだろうかと創意工夫して育てる環境というのかな。とにかく頼むよまじ
150デフォルトの名無しさん (ワッチョイ 4f23-ldot)
2018/01/10(水) 19:26:07.53ID:b0jd81470151デフォルトの名無しさん
2018/01/10(水) 20:01:31.67152デフォルトの名無しさん (ワッチョイ 4b9f-Ogju)
2018/01/10(水) 20:07:35.30ID:s9KBVpbq0 >>149
日本語でおk
そして死ね
> 出来も悪いからなかなか覚えないけど
なら覚えるまで何度でも読み返せ
> 教える側が知恵を絞ってどうにかうまく理解させる方法はないだろうかと創意工夫して
教わる側が1mmも努力せず、教える側に全責任をなすりつけるのは典型的ゆとり。死ね。
というかな、はっきり言えば昔より格段に環境は良くなっている。
当然教える側のノウハウも蓄積されてるし、
本も大量に出版され、良書以外は淘汰されてるし、
Webにも情報があふれ、ここみたいな掲示板やフォーラムもあるし、
無料でIDEも使えるし。
だから昔の環境で手こずった奴も、今なら楽勝で学んでいける。
問題は、昔だったら(=IDE無しでは)お話にならない馬鹿にもプログラミングさせようとしていることであって、
俺はこれに関してはもう諦めた方がいい=手取り足取り教えないと出来ない奴は死ねでいい、と思っている。
自分の為に他人に無償の努力を強いるその姿勢が根本的に間違っている。
つかマジで、ゆとりのノリでやりたいなら、C以外のゆとり用言語を使え。Javaとか。新しいのならGoとか。
そしてこれとは別に、俺は2chとは別の掲示板を立ち上げようとしているのだが、
君はこれについて興味あるか?
追える限りでの発言を確認したが、君は煽るだけの無能ではないらしい。
俺は今の2chのシステムでは行けるところまで行っている(既に飽和している)と見ているから、
これ以上の物を求めるのなら何かしら新しい機能が必要だと考えている。
今はそれのアイデア出し中だ。何かあれば是非。
日本語でおk
そして死ね
> 出来も悪いからなかなか覚えないけど
なら覚えるまで何度でも読み返せ
> 教える側が知恵を絞ってどうにかうまく理解させる方法はないだろうかと創意工夫して
教わる側が1mmも努力せず、教える側に全責任をなすりつけるのは典型的ゆとり。死ね。
というかな、はっきり言えば昔より格段に環境は良くなっている。
当然教える側のノウハウも蓄積されてるし、
本も大量に出版され、良書以外は淘汰されてるし、
Webにも情報があふれ、ここみたいな掲示板やフォーラムもあるし、
無料でIDEも使えるし。
だから昔の環境で手こずった奴も、今なら楽勝で学んでいける。
問題は、昔だったら(=IDE無しでは)お話にならない馬鹿にもプログラミングさせようとしていることであって、
俺はこれに関してはもう諦めた方がいい=手取り足取り教えないと出来ない奴は死ねでいい、と思っている。
自分の為に他人に無償の努力を強いるその姿勢が根本的に間違っている。
つかマジで、ゆとりのノリでやりたいなら、C以外のゆとり用言語を使え。Javaとか。新しいのならGoとか。
そしてこれとは別に、俺は2chとは別の掲示板を立ち上げようとしているのだが、
君はこれについて興味あるか?
追える限りでの発言を確認したが、君は煽るだけの無能ではないらしい。
俺は今の2chのシステムでは行けるところまで行っている(既に飽和している)と見ているから、
これ以上の物を求めるのなら何かしら新しい機能が必要だと考えている。
今はそれのアイデア出し中だ。何かあれば是非。
153デフォルトの名無しさん (ワッチョイ 9fb0-hg+r)
2018/01/10(水) 20:09:47.69ID:aFHgFo+Q0 漠然とした質問で失礼します。
私は最近c言語の勉強を始めたところでギリギリポインタ等も理解できたところです。
そこで、アルゴリズムとデータ構造の勉強をしようと思い本を何冊か買ってきたのですが、
スタックなどのデータ構造の仕組みがよくわかりません。。
どの参考書でも、「スタックとは後入れ先出しで…」という説明の後、「それではc言語でスタックを
実装してみましょう」といって意味不明なコード(長い)が書かれているパターンが王道のようです。
このパターンは線形リストとかでも同じです(諸兄にはいうまでもないでしょうが…)。
どのような実益があってこのようなデータ構造を生成する必要があるのでしょうか。
python等でいうところのリストに相当するデータ構造をc言語で作成するためということ?
また、実際のプログラムにおいては、データ構造の定義だけでかなりコード長くなると思われるのですが、
よく利用される手法なのでしょうか。
私は最近c言語の勉強を始めたところでギリギリポインタ等も理解できたところです。
そこで、アルゴリズムとデータ構造の勉強をしようと思い本を何冊か買ってきたのですが、
スタックなどのデータ構造の仕組みがよくわかりません。。
どの参考書でも、「スタックとは後入れ先出しで…」という説明の後、「それではc言語でスタックを
実装してみましょう」といって意味不明なコード(長い)が書かれているパターンが王道のようです。
このパターンは線形リストとかでも同じです(諸兄にはいうまでもないでしょうが…)。
どのような実益があってこのようなデータ構造を生成する必要があるのでしょうか。
python等でいうところのリストに相当するデータ構造をc言語で作成するためということ?
また、実際のプログラムにおいては、データ構造の定義だけでかなりコード長くなると思われるのですが、
よく利用される手法なのでしょうか。
154デフォルトの名無しさん (スッップ Sdbf-IYiY)
2018/01/10(水) 20:20:45.75ID:wz9ZVGEfd ん?
statとかfstat?
statとかfstat?
155デフォルトの名無しさん (ワッチョイ 3b22-8O7H)
2018/01/10(水) 20:21:25.37ID:4q6sC60X0 >>152
で、constはどこにあったの?
で、constはどこにあったの?
156デフォルトの名無しさん (ワッチョイ 4b9f-Ogju)
2018/01/10(水) 20:26:57.23ID:s9KBVpbq0 >>153
std::stack相当の話?
なら大して使わないから、とりあえず読み飛ばしていい。
つか、最初から全部キッチリ理解しようとせず、
まずは分かる範囲で組み、その後、自分の出来る範囲を広げていくようにした方がいい。
(1度読んで全部理解して捨てる、ではなく、最初から5回読む前提で分かるところから読み進める)
そのうち、stackを使うべき用途に遭遇したら、なるほどと理解できるようになる。
std::stack相当の話?
なら大して使わないから、とりあえず読み飛ばしていい。
つか、最初から全部キッチリ理解しようとせず、
まずは分かる範囲で組み、その後、自分の出来る範囲を広げていくようにした方がいい。
(1度読んで全部理解して捨てる、ではなく、最初から5回読む前提で分かるところから読み進める)
そのうち、stackを使うべき用途に遭遇したら、なるほどと理解できるようになる。
157デフォルトの名無しさん (ワッチョイ 9fd7-r3wo)
2018/01/10(水) 20:34:17.56ID:01jIFW0g0 >>153
直近のご要望としては、スタックの使い所を知りたいって事かな?
ほとんどの実行環境において、C言語の関数呼び出しなんかの実現に使われてるよ。
呼び出した側の状態を保存する場合にpush、呼び出され側から戻るときにpop的な。
直近のご要望としては、スタックの使い所を知りたいって事かな?
ほとんどの実行環境において、C言語の関数呼び出しなんかの実現に使われてるよ。
呼び出した側の状態を保存する場合にpush、呼び出され側から戻るときにpop的な。
158デフォルトの名無しさん (ワッチョイ bb8a-ICSi)
2018/01/10(水) 20:35:33.51ID:P2Ck3R5y0 >>149
幾ら出す?
幾ら出す?
159デフォルトの名無しさん (アウアウウー Sa8f-hL1C)
2018/01/10(水) 20:43:06.09ID:M55Gu+ZEa >>153
どのような実益?そうだなあ。スタックといえば以前PerlでXMLの階層構造を
SAX使ってRDBに全て入れる時に使ったなあ。まあ、それだけでなく先入先出に
するとやりやすくなる処理はあるよ。再起処理でも使われるし(スタックに積まれて
いるとあまり意識する必要ないかもしれないが)。
リストは例えば長さが可変長のファイルからデータ取得してメモリ上に置いておく
時に使えるかな。
まあしかしライブラリにあるならそれ使った方が楽だよ。毎回書くのは阿保らしい。
どのような実益?そうだなあ。スタックといえば以前PerlでXMLの階層構造を
SAX使ってRDBに全て入れる時に使ったなあ。まあ、それだけでなく先入先出に
するとやりやすくなる処理はあるよ。再起処理でも使われるし(スタックに積まれて
いるとあまり意識する必要ないかもしれないが)。
リストは例えば長さが可変長のファイルからデータ取得してメモリ上に置いておく
時に使えるかな。
まあしかしライブラリにあるならそれ使った方が楽だよ。毎回書くのは阿保らしい。
160デフォルトの名無しさん (ワッチョイ 9fb0-hg+r)
2018/01/10(水) 20:49:01.77ID:aFHgFo+Q0 >>156
とりあえずソートアルゴリズムのが理解したいと思い勉強をしていたのですが、複雑なものになってくると
各種データ構造の理解が必須!みたいになってきまして、データ構造の方にも手を出したみたわけです。
ヒープとかの方が簡単そうな気がしますし、とりあえずスタック関連は後回しにします。
>>157
はい、なんかそのようなことも本に書いてあったのです。
しかしこれが、「スタックとはプログラミング言語内においても既に設計されている基本構造なのだ。以上終わり。」
であれば、スッキリするのですが、
「それでは、これをc言語で実装してみましょう」といって、スタックをc言語のプログラムで作り出すことの意義
が今一つわからないというか。
とりあえずソートアルゴリズムのが理解したいと思い勉強をしていたのですが、複雑なものになってくると
各種データ構造の理解が必須!みたいになってきまして、データ構造の方にも手を出したみたわけです。
ヒープとかの方が簡単そうな気がしますし、とりあえずスタック関連は後回しにします。
>>157
はい、なんかそのようなことも本に書いてあったのです。
しかしこれが、「スタックとはプログラミング言語内においても既に設計されている基本構造なのだ。以上終わり。」
であれば、スッキリするのですが、
「それでは、これをc言語で実装してみましょう」といって、スタックをc言語のプログラムで作り出すことの意義
が今一つわからないというか。
161デフォルトの名無しさん (ワッチョイ bb8a-ICSi)
2018/01/10(水) 20:55:29.77ID:P2Ck3R5y0 >>150
filenoとfdopen覚えた方が楽だけどね
filenoとfdopen覚えた方が楽だけどね
162デフォルトの名無しさん (アウアウカー Sa4f-dSb4)
2018/01/10(水) 21:00:10.17ID:lfXyh+0pa それ用途が違うよね。
163デフォルトの名無しさん (ワッチョイ 9fb0-hg+r)
2018/01/10(水) 21:00:44.51ID:aFHgFo+Q0164デフォルトの名無しさん (ワッチョイ 4b9f-Ogju)
2018/01/10(水) 22:13:09.56ID:s9KBVpbq0 >>160
> とりあえずソートアルゴリズムのが理解したいと思い勉強をしていたのですが
アルゴリズムとデータ構造をソートで学ぶのは昔流で、今はそれをこの段階でやる必要はない。
今はとりあえず次の章に行ってしまって、for/while/if等を使いこなせるようになった方がいい。
> 「それでは、これをc言語で実装してみましょう」といって、スタックをc言語のプログラムで作り出すことの意義
仕様を説明する必要がないからだよ。
「じゃんけんゲームを作ってみましょう」なら仕様は大体分かり、説明が省ける。
「オレオレゲームを作ってみましょう」なら、「オレオレゲームとか何か」から詳しく正確に説明しないといけない。
その本は「スタックとは何か」を当然知っているという前提で書かれているんだよ。
Cプログラマがスタック構造を知らないというのもあり得ないからね。
ただ、スタック知らなくてもプログラムなんて組めるし、実際Web系の連中は知らんと思う。
とはいえこれが一方的に悪い訳でもなくて、逆に言えば、
スタック構造を知っていることがプログラミングの本質ではない、ということなんだよ。
だから君みたいな初心者は、分からないところは飛ばして分かるところから読み進めればいいんだよ。
というか、今、君のレベルの初心者がCから始める意味は無いし、
無駄に遠回りになるだけだが、それ分かってやってるか?
> とりあえずソートアルゴリズムのが理解したいと思い勉強をしていたのですが
アルゴリズムとデータ構造をソートで学ぶのは昔流で、今はそれをこの段階でやる必要はない。
今はとりあえず次の章に行ってしまって、for/while/if等を使いこなせるようになった方がいい。
> 「それでは、これをc言語で実装してみましょう」といって、スタックをc言語のプログラムで作り出すことの意義
仕様を説明する必要がないからだよ。
「じゃんけんゲームを作ってみましょう」なら仕様は大体分かり、説明が省ける。
「オレオレゲームを作ってみましょう」なら、「オレオレゲームとか何か」から詳しく正確に説明しないといけない。
その本は「スタックとは何か」を当然知っているという前提で書かれているんだよ。
Cプログラマがスタック構造を知らないというのもあり得ないからね。
ただ、スタック知らなくてもプログラムなんて組めるし、実際Web系の連中は知らんと思う。
とはいえこれが一方的に悪い訳でもなくて、逆に言えば、
スタック構造を知っていることがプログラミングの本質ではない、ということなんだよ。
だから君みたいな初心者は、分からないところは飛ばして分かるところから読み進めればいいんだよ。
というか、今、君のレベルの初心者がCから始める意味は無いし、
無駄に遠回りになるだけだが、それ分かってやってるか?
165デフォルトの名無しさん (ワッチョイ 2bb3-IKYq)
2018/01/10(水) 22:17:21.44ID:3INPjtq00 >>160
ハノイの塔のパズルを解くプログラムを書いてみて。
スタックを使う場合と使わない場合の2パターン描いてみて。
で、どちらが少ない行数で書けるか、どちらが実行速度が速いか、
どちらが理解しやすい美しいコードか、さまざまな観点で比較してみて。
ハノイの塔のパズルを解くプログラムを書いてみて。
スタックを使う場合と使わない場合の2パターン描いてみて。
で、どちらが少ない行数で書けるか、どちらが実行速度が速いか、
どちらが理解しやすい美しいコードか、さまざまな観点で比較してみて。
166デフォルトの名無しさん (ワッチョイ 4b9f-Ogju)
2018/01/10(水) 23:08:24.25ID:s9KBVpbq0 >>153
と思ったが、Pythonに言及しているところからすると、既にPythonを使いこなせるのか?
だとすると、「アルゴリズムとデータ構造」をガッツリやる意味はある。
スタックが何故使われるかと言えば、スタックで対応できる場合に最速だからだよ。
だからCは実行方式からしてスタックべったりだ。
逆に言えば、それくらいしかメリットないし、
通常の配列にメソッド生やしてスタックにするのも簡単だから、他言語では大体そうしてるでしょ。
以下見れば分かるが、
https://cpprefjp.github.io/reference.html
Pythonのリストに当たる物は
array, deque, forward_list, list, queue, stack, vector の7種類あり、
Cはこれらを使い分けて最速コードを得る為の言語なんだよ。
勿論それ以外の物が良ければ自作しろ、という文化だし。
逆に、Python等は、グダグダ考えずに全部リストでやれ、それの方が分かりやすいし、という文化だろ。
と思ったが、Pythonに言及しているところからすると、既にPythonを使いこなせるのか?
だとすると、「アルゴリズムとデータ構造」をガッツリやる意味はある。
スタックが何故使われるかと言えば、スタックで対応できる場合に最速だからだよ。
だからCは実行方式からしてスタックべったりだ。
逆に言えば、それくらいしかメリットないし、
通常の配列にメソッド生やしてスタックにするのも簡単だから、他言語では大体そうしてるでしょ。
以下見れば分かるが、
https://cpprefjp.github.io/reference.html
Pythonのリストに当たる物は
array, deque, forward_list, list, queue, stack, vector の7種類あり、
Cはこれらを使い分けて最速コードを得る為の言語なんだよ。
勿論それ以外の物が良ければ自作しろ、という文化だし。
逆に、Python等は、グダグダ考えずに全部リストでやれ、それの方が分かりやすいし、という文化だろ。
167デフォルトの名無しさん (ワッチョイ 9fb0-hg+r)
2018/01/10(水) 23:39:41.13ID:aFHgFo+Q0 >>165
ほうほう。ありがとうございます。
かなり難しそうですがやってみます。
>>166
スプリクト言語の方が簡単、pythonやrubyでプログラミングというものをはじめましたが、そもそも詳しい人だけが
簡単に思えるだけで、基礎的知識なしでは相当にきついんでないの?と感じてcを始めました。
というわけでpythonが使いこなせるということはありません。
cに関しては教科書一通り一周して、とにかく制御をマスターしたかったので制御文を使いまくるであろうソートアルゴリズムに手を付けたんです。
制御文もアルゴリズムも理解できたら一石二鳥かなと思って。
「定本cプログラマのためのアルゴリズム〜」に「リスト」の説明があり、
・要素の挿入 ・要素の削除 ・要素の読み書き ・探索
・複数のリストをまとめる ・リストの分割 ・リストの複製 ・要素の数を求める
とあり、「あら、pythonのリストと全く同じ構造だ」とおどろいたわけです。
cはとりあえずarray, deque, forward_list, list, queue, stack, vectorといったものを「なんとかして」pythonのリストやまた
それ以外のデータ構造を自分で作成するということですか。
ほうほう。ありがとうございます。
かなり難しそうですがやってみます。
>>166
スプリクト言語の方が簡単、pythonやrubyでプログラミングというものをはじめましたが、そもそも詳しい人だけが
簡単に思えるだけで、基礎的知識なしでは相当にきついんでないの?と感じてcを始めました。
というわけでpythonが使いこなせるということはありません。
cに関しては教科書一通り一周して、とにかく制御をマスターしたかったので制御文を使いまくるであろうソートアルゴリズムに手を付けたんです。
制御文もアルゴリズムも理解できたら一石二鳥かなと思って。
「定本cプログラマのためのアルゴリズム〜」に「リスト」の説明があり、
・要素の挿入 ・要素の削除 ・要素の読み書き ・探索
・複数のリストをまとめる ・リストの分割 ・リストの複製 ・要素の数を求める
とあり、「あら、pythonのリストと全く同じ構造だ」とおどろいたわけです。
cはとりあえずarray, deque, forward_list, list, queue, stack, vectorといったものを「なんとかして」pythonのリストやまた
それ以外のデータ構造を自分で作成するということですか。
168デフォルトの名無しさん (ワッチョイ 1bd0-fRwE)
2018/01/10(水) 23:52:55.49ID:Klfu8N/c0 どうでもいいけどプログラミングなんて10年後オワコンじゃない?
コード共有サイト行けば書きたかったコード見つかるしコピペすればおk
世界で既に誰かが書いてるもの二回三回書く必要性はない
この流れが自動化されれば終わるだろうな
コード共有サイト行けば書きたかったコード見つかるしコピペすればおk
世界で既に誰かが書いてるもの二回三回書く必要性はない
この流れが自動化されれば終わるだろうな
>>168
1から1000 までを全部掛けた答えを出す共有サイトのコードを見せてください
1から1000 までを全部掛けた答えを出す共有サイトのコードを見せてください
170デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/11(木) 00:13:19.12ID:pXQSKlgS0171デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/11(木) 00:21:59.15ID:zDr2JTOQ0 >>167
> cはとりあえずarray, deque, forward_list, list, queue, stack, vectorといったものを「なんとかして」pythonのリストやまた
> それ以外のデータ構造を自分で作成するということですか。
違う。
Pythonのリストというのは抽象データ型で、要するに「万能」に作ってある。
この方がソースコードは分かりやすいから。(知識が少なくても読める)
逆に、「万能」なら限界ぎりぎりの速度を追求できないから、
Cでは別々にして使い分けろ、必要なら自作しろ、ということ。
> スプリクト言語の方が簡単、
これは実際にそう。
pythonやrubyでプログラミングというものをはじめましたが、
これも正しい。
> そもそも詳しい人だけが簡単に思えるだけで、
> 基礎的知識なしでは相当にきついんでないの?と感じてcを始めました。
ここはちょっと違う。
要するに、「動けばいい」プログラムでCを使う意味なんて無いんだよ。
逆に、最速のコードが欲しいときにはC/C++以外に現実的な選択肢はない。
だからほとんどのOS/ブラウザ/処理系(PythonやRubyも)はCで出来ているし、
Cが基礎だっていうのも間違いではないんだが、
プログラミングにCの知識が必要かというと、そうでもないんだよ。
Python/Rubyで済むのなら、Python/Rubyで済ませるべきであってね。
そして初心者はまず、「動けばいい」からスタートすべきであって、
それ以外に色々知識が必要なCはズブの初心者向きではないんだよ。
ただまあ、話を聞く限り、君が「アルゴリズムとデータ構造」をやるのは悪くはない。
とはいえ、現実的にソートのアルゴリズム知ってても大して意味はないし、
直接目標に向かった方がいいと思うが。
例えば、ゲームを作りたいのなら、何でもいいからとりあえず動くゲームを作ってみろ、ということ。
どうせこの最中にいろいろな問題にぶち当たることになるから。
> cはとりあえずarray, deque, forward_list, list, queue, stack, vectorといったものを「なんとかして」pythonのリストやまた
> それ以外のデータ構造を自分で作成するということですか。
違う。
Pythonのリストというのは抽象データ型で、要するに「万能」に作ってある。
この方がソースコードは分かりやすいから。(知識が少なくても読める)
逆に、「万能」なら限界ぎりぎりの速度を追求できないから、
Cでは別々にして使い分けろ、必要なら自作しろ、ということ。
> スプリクト言語の方が簡単、
これは実際にそう。
pythonやrubyでプログラミングというものをはじめましたが、
これも正しい。
> そもそも詳しい人だけが簡単に思えるだけで、
> 基礎的知識なしでは相当にきついんでないの?と感じてcを始めました。
ここはちょっと違う。
要するに、「動けばいい」プログラムでCを使う意味なんて無いんだよ。
逆に、最速のコードが欲しいときにはC/C++以外に現実的な選択肢はない。
だからほとんどのOS/ブラウザ/処理系(PythonやRubyも)はCで出来ているし、
Cが基礎だっていうのも間違いではないんだが、
プログラミングにCの知識が必要かというと、そうでもないんだよ。
Python/Rubyで済むのなら、Python/Rubyで済ませるべきであってね。
そして初心者はまず、「動けばいい」からスタートすべきであって、
それ以外に色々知識が必要なCはズブの初心者向きではないんだよ。
ただまあ、話を聞く限り、君が「アルゴリズムとデータ構造」をやるのは悪くはない。
とはいえ、現実的にソートのアルゴリズム知ってても大して意味はないし、
直接目標に向かった方がいいと思うが。
例えば、ゲームを作りたいのなら、何でもいいからとりあえず動くゲームを作ってみろ、ということ。
どうせこの最中にいろいろな問題にぶち当たることになるから。
172デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/11(木) 00:30:31.27ID:zDr2JTOQ0 一応付け加えておくと、
Pythonのリストは、C++で言う array, deque, forward_list, list, queue, stack, vector のどの用途にも使える。
でもその分遅いし、メモリも食う。
Pythonを使うというのは、これを認めて、楽さを取る、ということ。
逆に、最高速度で動かしたい、メモリを無駄に食うのは嫌だ、となると、
リストの実際の使われ方を確認して、最も適切なものを選べ、
或いはさらにチューニングできるのなら自作しろ、となるのがC。
だから、組み合わせて作るのではなく、使い分ける。
Pythonのリストは、C++で言う array, deque, forward_list, list, queue, stack, vector のどの用途にも使える。
でもその分遅いし、メモリも食う。
Pythonを使うというのは、これを認めて、楽さを取る、ということ。
逆に、最高速度で動かしたい、メモリを無駄に食うのは嫌だ、となると、
リストの実際の使われ方を確認して、最も適切なものを選べ、
或いはさらにチューニングできるのなら自作しろ、となるのがC。
だから、組み合わせて作るのではなく、使い分ける。
173デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/11(木) 00:39:50.99ID:zDr2JTOQ0 例えて言った方がいいかな?
Pythonのリストは「車」という解像度しかないのに対し、
Cでは、「軽、軽トラ、普通車、バス、トラック」が指定できるようなもの。
「車」で済むのならPython使っとけ、だし、初心者はこれで問題ない。
細かくチューニングしたいからそれ以上の解像度が必要だ、というときにだけCが必要で、
逆に言えば、その気がないのならPython/Rubyで十分だと思うし、そうするべきだとも思う。
Cは実行速度は最速だが、開発速度は最速ではないので。
Pythonのリストは「車」という解像度しかないのに対し、
Cでは、「軽、軽トラ、普通車、バス、トラック」が指定できるようなもの。
「車」で済むのならPython使っとけ、だし、初心者はこれで問題ない。
細かくチューニングしたいからそれ以上の解像度が必要だ、というときにだけCが必要で、
逆に言えば、その気がないのならPython/Rubyで十分だと思うし、そうするべきだとも思う。
Cは実行速度は最速だが、開発速度は最速ではないので。
174デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/11(木) 00:45:19.80ID:pXQSKlgS0 なお、人工知能にはPython使う模様
cさん...w
cさん...w
175デフォルトの名無しさん
2018/01/11(木) 00:48:46.80 Pythonでも速度求めるんならスタック・キューはlistじゃなくてcollections.deque使うやろ
176デフォルトの名無しさん (ワッチョイ 6ad7-LeTx)
2018/01/11(木) 01:47:55.44ID:RB8iNeAj0 >>174
py なのはインタフェースだけでしょ。
py なのはインタフェースだけでしょ。
177デフォルトの名無しさん (ワッチョイ 6ad7-LeTx)
2018/01/11(木) 01:55:31.45ID:RB8iNeAj0 >>160
えっ?
データ構造を学んでるんでしょ?
その実装例がでてきたことに対して、実装する意義がわからないっておかしくない?
学習するためじゃないんかい…
車輪の再発明は無駄だけど、学習として車輪の作り方をトレースするのは有益。
とちょっと斜め上の視点をとってみた。
えっ?
データ構造を学んでるんでしょ?
その実装例がでてきたことに対して、実装する意義がわからないっておかしくない?
学習するためじゃないんかい…
車輪の再発明は無駄だけど、学習として車輪の作り方をトレースするのは有益。
とちょっと斜め上の視点をとってみた。
178デフォルトの名無しさん (アウアウカー Sa55-EKU2)
2018/01/11(木) 08:54:30.53ID:oCnGxyW+a 今からお前らが書いてるコードが全て車輪だってことなんだよなぁ...
179デフォルトの名無しさん (アウアウカー Sa55-EKU2)
2018/01/11(木) 08:56:46.29ID:oCnGxyW+a 2chにいる時点で端くれプログラマーなんだし世界で既に書かれたコードしか書いてないでしょ...()
180デフォルトの名無しさん (ワッチョイ 5922-UJUP)
2018/01/11(木) 10:05:47.46ID:S67tZ9jk0181デフォルトの名無しさん (アウアウカー Sa55-EKU2)
2018/01/11(木) 10:09:07.84ID:oCnGxyW+a182デフォルトの名無しさん (ワッチョイ 5922-UJUP)
2018/01/11(木) 10:27:39.81ID:S67tZ9jk0183デフォルトの名無しさん (ササクッテロレ Spbd-5nGQ)
2018/01/11(木) 10:47:21.71ID:z0FcUM5Fp 同じ仕様を満たすコードを何人もが独自に書くプロジェクトなんて、沢山あるだろw
誤ったオブジェクト指向の解釈が蔓延した弊害でなw
誤ったオブジェクト指向の解釈が蔓延した弊害でなw
184デフォルトの名無しさん (アウアウカー Sa55-EKU2)
2018/01/11(木) 11:04:46.69ID:oCnGxyW+a >>183
非効率だよな
非効率だよな
185デフォルトの名無しさん
2018/01/11(木) 12:08:37.79 自分でコード書かないと npm left-pad みたいな問題が起きる
ブラックボックス的に使う部分と内製化する部分はきっちり区別して
内製部分はすべてのコードを完璧に把握しておくべきだ
ブラックボックス的に使う部分と内製化する部分はきっちり区別して
内製部分はすべてのコードを完璧に把握しておくべきだ
186デフォルトの名無しさん (アウアウカー Sa55-EKU2)
2018/01/11(木) 14:34:55.01ID:xUZeJB/aa187デフォルトの名無しさん (ワッチョイ 5922-UJUP)
2018/01/11(木) 15:22:04.47ID:S67tZ9jk0 何も解決したことのない者が口ばっかりは達者だな
188デフォルトの名無しさん (ワッチョイ 9ee7-IhuN)
2018/01/11(木) 19:10:21.87ID:NvDnlhDw0 心が汚れているとコードも
189デフォルトの名無しさん (ワッチョイ 6a12-0PCX)
2018/01/11(木) 20:02:04.60ID:Nwq/3BKy0 知恵遅れでポインタすらも分からずギャーギャーわめいてるアホがコイツなんじゃねえの
ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10184535725
ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10184535725
190デフォルトの名無しさん (アウアウウー Sa21-QpsD)
2018/01/11(木) 20:26:31.55ID:hT1lQp+Ma 心の乱れはコードの乱れ
>>190
名言だ!
名言だ!
192デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/11(木) 21:59:21.52ID:zDr2JTOQ0193デフォルトの名無しさん (ワッチョイ c576-01qY)
2018/01/11(木) 23:02:15.41ID:/sH2FBYP0 いやしかし、ひどい質問だなw
プログラムどころかアルゴリズムの時点で特許がどうの騒ぐ時代なのに、プログラムを全世界で共有とか頭悪すぎる。
プログラムどころかアルゴリズムの時点で特許がどうの騒ぐ時代なのに、プログラムを全世界で共有とか頭悪すぎる。
194デフォルトの名無しさん (ワッチョイ 6d9f-QpsD)
2018/01/12(金) 03:12:29.92ID:a7+Gi3xg0 部分的にはライブラリの配布みたいな感じで出来てはいるけどな。
195デフォルトの名無しさん (ワッチョイ 11d0-rzLw)
2018/01/12(金) 03:27:24.54ID:2CbWWRaV0 正直車輪の再開発なんていってたら商売成り立たないよな
ほかの人に見せて第三者がそのコード使ったら普通に嫌だと思うんだけどコードの共有化とか利益と競争を考えてない綺麗事じゃないか?
コード使い回しなんて実際問題、会社内ぐらいでしかやらんだろ
ほかの人に見せて第三者がそのコード使ったら普通に嫌だと思うんだけどコードの共有化とか利益と競争を考えてない綺麗事じゃないか?
コード使い回しなんて実際問題、会社内ぐらいでしかやらんだろ
196デフォルトの名無しさん (ササクッテロレ Spbd-5nGQ)
2018/01/12(金) 10:04:31.77ID:+P8k5RiCp むしろ乖離問題で使わせてない。つか使わせたくないってのが本音。
資産だけど公開した途端にむしろ負の資産になる。
資産だけど公開した途端にむしろ負の資産になる。
197デフォルトの名無しさん
2018/01/12(金) 11:55:16.87 GNU汚染問題もあるし出所の怪しいコードをやたらとホイホイ取り込めないよな
198デフォルトの名無しさん (ブーイモ MMc9-I7Ul)
2018/01/12(金) 12:45:18.53ID:EuBhIV8VM ライセンス絡みは面倒だから出来るだけ自分で書くのが一番いい
199デフォルトの名無しさん (アウアウカー Sa55-f6zg)
2018/01/12(金) 17:10:11.05ID:L71nmxDMa 何も見ないで独自に作ってもある日サブマリン特許にやられたりする
200デフォルトの名無しさん (ワッチョイ 59f4-UJUP)
2018/01/12(金) 17:12:48.89ID:NPCVz5+f0 あれひでえよな
産みの苦しみを報うはずの制度が
産みの苦しみを突然否定しに来る
たった1人を報うために大勢が犠牲になる
産みの苦しみを報うはずの制度が
産みの苦しみを突然否定しに来る
たった1人を報うために大勢が犠牲になる
201デフォルトの名無しさん (ワッチョイ a58a-oih1)
2018/01/12(金) 17:19:40.33ID:oHmTflkZ0 ソフト特許権絡みの問題なんて余程優れたアルゴリズムを実現でもしない限り発生しないだろ
少なくとも車輪の再発明レベルでは問題が起きようがない
ライセンス関係の問題の殆どは著作権絡みであって特許権の問題ではない
少なくとも車輪の再発明レベルでは問題が起きようがない
ライセンス関係の問題の殆どは著作権絡みであって特許権の問題ではない
202デフォルトの名無しさん (ワッチョイ 59f4-UJUP)
2018/01/12(金) 18:00:17.09ID:NPCVz5+f0 卑怯なことは一切せずに作ったオリジナルなものを
突然パクり呼ばわりされるんだぜ?
開発者としてこれ以上の侮辱があるかよ
いつそうなるかの予測もほぼ不可能だし
それで金よこせってまるで強盗かヤクザの集金だろうが
突然パクり呼ばわりされるんだぜ?
開発者としてこれ以上の侮辱があるかよ
いつそうなるかの予測もほぼ不可能だし
それで金よこせってまるで強盗かヤクザの集金だろうが
203デフォルトの名無しさん (ワッチョイ 398a-Hx09)
2018/01/12(金) 18:05:57.70ID:JoZVVmVH0 レメルソンなんてSF級だもんな
204デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/12(金) 18:30:41.68ID:oHmTflkZ0205デフォルトの名無しさん
2018/01/12(金) 18:31:58.08 今北三行
206デフォルトの名無しさん (ワッチョイ 3d93-j9tc)
2018/01/12(金) 19:19:49.18ID:dSWv3bkd0 自分で発明したものを後から特許とられて…って話でなければ
先に出願しとけってのは無茶、というか超時空理論だわな。
「サブマリン特許で攻められるのが嫌なら
何か作る前に全ての特許を調べておけ」という主張には、
「皆がそんな調査をする必要がある社会では何も生み出せないだろう」
という意見を出したいね。
先に出願しとけってのは無茶、というか超時空理論だわな。
「サブマリン特許で攻められるのが嫌なら
何か作る前に全ての特許を調べておけ」という主張には、
「皆がそんな調査をする必要がある社会では何も生み出せないだろう」
という意見を出したいね。
207デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/12(金) 19:35:56.68ID:oHmTflkZ0 いやいや製品開発では商品企画段階で先行技術調査はやってて当たり前のことだぞ
後で他社から特許侵害の訴えを受けると面倒くさいことになる
というか大手メーカの組み込みソフト技術者は、技術レポート作成や特許出願の年間ノルマが課せられることも多い
例え特許として特許庁に認められなくても出願したという実績さえあれば先行技術として認められる
サブマリン特許といえども既に世の中に公知されている先行技術のあるものに対して実施料を請求することは出来ない
米国はサブマリン特許に見られるように特許を攻撃戦略をとすることが多いが、日本企業の場合は防衛が特許戦略の中心とする傾向が強い
後で他社から特許侵害の訴えを受けると面倒くさいことになる
というか大手メーカの組み込みソフト技術者は、技術レポート作成や特許出願の年間ノルマが課せられることも多い
例え特許として特許庁に認められなくても出願したという実績さえあれば先行技術として認められる
サブマリン特許といえども既に世の中に公知されている先行技術のあるものに対して実施料を請求することは出来ない
米国はサブマリン特許に見られるように特許を攻撃戦略をとすることが多いが、日本企業の場合は防衛が特許戦略の中心とする傾向が強い
208デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/12(金) 19:57:45.41ID:oHmTflkZ0 話が脱線気味だけど、特にソフトウェアに限って言えば余程のことがない限りコードの中身そのものが問題になることは少ない
ただし製品の制御方法についてはソフトが問題になることはある
例えば、炊飯器のご飯の炊き方や洗濯機の攪拌方法やエアコンの運転方法など、これらは特許(パテント)の出来損ないのペテントで
そのノウハウはがっちり固められてるし、下手すりゃ権利の侵害問題に発展することもある
ただし繰り返しになるけど、純粋なコードの権利については特許というよりは著作権の方が問題になることが多い
ただし製品の制御方法についてはソフトが問題になることはある
例えば、炊飯器のご飯の炊き方や洗濯機の攪拌方法やエアコンの運転方法など、これらは特許(パテント)の出来損ないのペテントで
そのノウハウはがっちり固められてるし、下手すりゃ権利の侵害問題に発展することもある
ただし繰り返しになるけど、純粋なコードの権利については特許というよりは著作権の方が問題になることが多い
209デフォルトの名無しさん (アウアウウー Sa21-QpsD)
2018/01/12(金) 20:15:26.10ID:cCKSl/zea そういえばMSもLinuxが特許侵害してるって言ってandroid使ってるスマホメーカーから金受け取ってんだよな。
技術的にはたいしたものではないらしいが。
技術的にはたいしたものではないらしいが。
210デフォルトの名無しさん (アウアウカー Sa55-EKU2)
2018/01/12(金) 20:20:38.77ID:AcL8GFCQa プログラミングあんま知らんけどコードって著作権あるの?
俺普通に本とかの模写しまくってるんだけど...
もちろん勉学目的で商用してるわけじゃないけど大丈夫だよな...?
俺普通に本とかの模写しまくってるんだけど...
もちろん勉学目的で商用してるわけじゃないけど大丈夫だよな...?
211デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/12(金) 20:23:47.74ID:oHmTflkZ0 特許に必要なのは、新規性と独創性と再現性
技術的に高度でも既に知られているものは特許にはならない
技術的にたいしたものでなくても今まで誰も考えつかなかったものは特許になる
ソフトウェアでも既に知られているアルゴリズムでは特許にならない
全く新しい理論に基づくアルゴリズムを実現すれば特許になる
技術的に高度でも既に知られているものは特許にはならない
技術的にたいしたものでなくても今まで誰も考えつかなかったものは特許になる
ソフトウェアでも既に知られているアルゴリズムでは特許にならない
全く新しい理論に基づくアルゴリズムを実現すれば特許になる
212デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/12(金) 20:31:43.23ID:oHmTflkZ0 >>210
個人利用の範囲で商用利用しなければ問題ない
個人利用の範囲で商用利用しなければ問題ない
213デフォルトの名無しさん (ワッチョイ 5db3-gDcf)
2018/01/12(金) 20:58:54.35ID:Vw0zRWAd0 画像処理関係はあちこち特許にぶちあたる
214デフォルトの名無しさん (ササクッテロレ Spbd-5nGQ)
2018/01/12(金) 21:31:48.41ID:+P8k5RiCp ぷにコンはどの辺が特許侵害なんだろうな。
215デフォルトの名無しさん (ワッチョイ 59f4-UJUP)
2018/01/12(金) 21:41:56.36ID:NPCVz5+f0216デフォルトの名無しさん (ワッチョイ 59f4-UJUP)
2018/01/12(金) 21:43:56.56ID:NPCVz5+f0 >>211
虎ノ門に言わせればそうだろうけどね
虎ノ門に言わせればそうだろうけどね
217デフォルトの名無しさん (ワッチョイ 398a-Hx09)
2018/01/12(金) 21:55:17.37ID:JoZVVmVH0 サブマリン特許は公開されてないから、「サブマリン」なんだが
それを誰が調べるの?
それを誰が調べるの?
218デフォルトの名無しさん (ワッチョイ eab3-J7fK)
2018/01/12(金) 22:33:21.66ID:ju4bDeed0219デフォルトの名無しさん (ワッチョイ 7db3-y08B)
2018/01/12(金) 22:34:31.24ID:jKePUTB40 https://i.imgur.com/K7Hao16.png
https://i.imgur.com/vFuBfX2.png
この13-3について教えてほしいんだけど、「選手リストの要素を順番に参照し」ってのが分からない
qsortでできるだろと思ってたができんかった
https://paiza.io/projects/BNMiYyK2ND3OJob63nzEFw
https://i.imgur.com/vFuBfX2.png
この13-3について教えてほしいんだけど、「選手リストの要素を順番に参照し」ってのが分からない
qsortでできるだろと思ってたができんかった
https://paiza.io/projects/BNMiYyK2ND3OJob63nzEFw
220デフォルトの名無しさん (ワッチョイ 399e-IhuN)
2018/01/12(金) 22:47:57.86ID:96cxGEMW0221デフォルトの名無しさん (ワッチョイ 7db3-cgY/)
2018/01/12(金) 22:51:28.64ID:jKePUTB40222デフォルトの名無しさん (ワッチョイ 6a12-0PCX)
2018/01/12(金) 23:05:54.72ID:t7pO81Ne0 既にある連結リストにはqsortは使えない(これは常人でも考えれば分かる)
後からどうしてもソートしたいならマージソートを使う(これは常人がすぐに思い付くモンじゃないので知らないと出来ない、つまりは考えても無駄)
後からどうしてもソートしたいならマージソートを使う(これは常人がすぐに思い付くモンじゃないので知らないと出来ない、つまりは考えても無駄)
223デフォルトの名無しさん (ブーイモ MMc9-sUJ4)
2018/01/12(金) 23:14:51.66ID:b7j7QzhUM224デフォルトの名無しさん (ワッチョイ 399e-IhuN)
2018/01/12(金) 23:22:35.07ID:96cxGEMW0 >>221
「だよねぇ」じゃなくて「13-3の3行目ですかねぇ」だろ。
「だよねぇ」じゃなくて「13-3の3行目ですかねぇ」だろ。
225デフォルトの名無しさん (ワッチョイ 6681-XCNn)
2018/01/12(金) 23:23:04.02ID:gQJ9Pgb+0 ここで言っているコピーって、書籍に掲載されているロジックをそのまま借用するって事だよね
226デフォルトの名無しさん
2018/01/12(金) 23:30:11.38 >>219
「以下のプログラムの (1) (2) の部分を作成し」の「(1) (2) の部分」が見つからない
「以下のプログラムの (1) (2) の部分を作成し」の「(1) (2) の部分」が見つからない
227デフォルトの名無しさん (ワッチョイ 399e-IhuN)
2018/01/12(金) 23:36:49.31ID:96cxGEMW0228デフォルトの名無しさん (ワッチョイ 3d93-j9tc)
2018/01/13(土) 06:45:10.13ID:XcAHqv6T0229デフォルトの名無しさん (ワッチョイ eab3-J7fK)
2018/01/13(土) 07:23:31.08ID:8qhapkmN0 >>228
それこそ著作権の問題が... w
それこそ著作権の問題が... w
231デフォルトの名無しさん (ワッチョイ 6d9f-7doJ)
2018/01/13(土) 13:00:13.08ID:ZTdbWh7g0 だいたいの人は既に頭の中で解けている
232デフォルトの名無しさん
2018/01/13(土) 13:27:35.73 >>219見てちょっと考えてみたけど、
初回だけ(topが未設定の場合だけ)場合分けで例外的な処理がいるの?
あと、大小で判定して挿入するとき、先頭もしくは末尾だけは例外的な処理がいるの?
かっこよくスマートに書けるやりかた教えて!
初回だけ(topが未設定の場合だけ)場合分けで例外的な処理がいるの?
あと、大小で判定して挿入するとき、先頭もしくは末尾だけは例外的な処理がいるの?
かっこよくスマートに書けるやりかた教えて!
233デフォルトの名無しさん (ワッチョイ 6a12-0PCX)
2018/01/13(土) 14:20:20.40ID:lblZiSVe0 連結リストで検索すればお手本は大量に出てくる
この改まった場で今更説明するほどのものでもない
この改まった場で今更説明するほどのものでもない
>>232
ちょっと書いてみてよ
ちょっと書いてみてよ
235デフォルトの名無しさん
2018/01/13(土) 15:48:08.00 >>234
なんも見ずに書いてみたけど(コンパイルもしてないけど)
片方向リストにしたらこんな感じかなあ
見た感じスマートじゃないからたぶん無駄なことしてるんだろうけど
// 打席数、安打数は省略
typedef struct PLAYER_tag PLAYER;
struct PLAYER_tag {
char name[20];
PLAYER *next;
};
int main() {
PLAYER *top; // 先頭の要素
PLAYER *p; // 追加する要素
PLAYER *q; // 現在の要素
PLAYER *z; // 一つ前の要素
(省略)
top = NULL;
while (EOFでない) {
// 1行読み込んで名前(name)、打席数、安打数を取得
(省略)
malloc(p, sizeof(struct PLAYER));
memset(p, 0, sizeof(struct PLAYER));
strcpy(p->name, name);
// topが未設定の場合だけは例外的な処理
if(top == NULL) {
// 先頭に挿入
top = p;
} else {
q = top;
z = NULL;
// リストの先頭から順に走査
while (q != NULL) {
// アルファベット順が大きい要素の直前に挿入
if (strcmp(p->name, q->name) < 0) {
if (z != NULL) z->next = p;
p->next = q;
break;
}
z = q;
q = q->next;
}
// 末尾に挿入するときだけは例外処理
if ((p->next == NULL) && (z != NULL)) z->next = p;
(省略)
なんも見ずに書いてみたけど(コンパイルもしてないけど)
片方向リストにしたらこんな感じかなあ
見た感じスマートじゃないからたぶん無駄なことしてるんだろうけど
// 打席数、安打数は省略
typedef struct PLAYER_tag PLAYER;
struct PLAYER_tag {
char name[20];
PLAYER *next;
};
int main() {
PLAYER *top; // 先頭の要素
PLAYER *p; // 追加する要素
PLAYER *q; // 現在の要素
PLAYER *z; // 一つ前の要素
(省略)
top = NULL;
while (EOFでない) {
// 1行読み込んで名前(name)、打席数、安打数を取得
(省略)
malloc(p, sizeof(struct PLAYER));
memset(p, 0, sizeof(struct PLAYER));
strcpy(p->name, name);
// topが未設定の場合だけは例外的な処理
if(top == NULL) {
// 先頭に挿入
top = p;
} else {
q = top;
z = NULL;
// リストの先頭から順に走査
while (q != NULL) {
// アルファベット順が大きい要素の直前に挿入
if (strcmp(p->name, q->name) < 0) {
if (z != NULL) z->next = p;
p->next = q;
break;
}
z = q;
q = q->next;
}
// 末尾に挿入するときだけは例外処理
if ((p->next == NULL) && (z != NULL)) z->next = p;
(省略)
236デフォルトの名無しさん
2018/01/13(土) 15:52:19.19 >>235
先頭に挿入した場合の例外的な処理も必要だった
if (z != NULL) z->next = p;
↓
if (z != NULL) {
z->next = p;
} else {
top = p;
}
先頭に挿入した場合の例外的な処理も必要だった
if (z != NULL) z->next = p;
↓
if (z != NULL) {
z->next = p;
} else {
top = p;
}
237デフォルトの名無しさん
2018/01/13(土) 16:02:34.49238デフォルトの名無しさん (ワッチョイ f17f-XFrZ)
2018/01/13(土) 16:08:35.10ID:y/551r5I0 とりあえず、実際にはリストとデータは分けた方がいいよね。
あと、リストのtopも実体にしたほうが、いい予感。
あと、リストのtopも実体にしたほうが、いい予感。
239デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/13(土) 16:27:20.61ID:dAIHjdGT0 割とマジでvolatileって何に使うんだ。。。?
240デフォルトの名無しさん (ワッチョイ 7db3-cgY/)
2018/01/13(土) 16:35:27.25ID:Bkmc+O4i0 >>219だけど、結局小一時間考えたらできたわ
241デフォルトの名無しさん (スッップ Sd0a-oEMS)
2018/01/13(土) 17:02:47.66ID:n17MDyEZd >>239
余計なことすんなっておまじない。
余計なことすんなっておまじない。
242デフォルトの名無しさん (ワッチョイ 6d9f-QpsD)
2018/01/13(土) 17:17:58.88ID:ZTdbWh7g0 >>239
volatile は揮発性のものってことで、読んだ次の瞬間に値が変わっている可能性がある変数に付けとくやつだ。
その変数は実際にはハードウェアによって変化するものに結びついているかも知れないし、他のプロセスや
スレッドによって書き換えられるものかも知れない。とにかくそのプログラムのメインの流れとは無関係に
変化する可能性があるということ。だから読む場合は必ずその変数の内容が読まれるようにコンパイルされる
必要がある。最適化してさっきから変更してないからレジスタに入ってる内容で代用しようみたいなコードに
なってはいけないわけだ。volatile を付けておくとそういう最適化をしなくなる。
volatile は揮発性のものってことで、読んだ次の瞬間に値が変わっている可能性がある変数に付けとくやつだ。
その変数は実際にはハードウェアによって変化するものに結びついているかも知れないし、他のプロセスや
スレッドによって書き換えられるものかも知れない。とにかくそのプログラムのメインの流れとは無関係に
変化する可能性があるということ。だから読む場合は必ずその変数の内容が読まれるようにコンパイルされる
必要がある。最適化してさっきから変更してないからレジスタに入ってる内容で代用しようみたいなコードに
なってはいけないわけだ。volatile を付けておくとそういう最適化をしなくなる。
243デフォルトの名無しさん
2018/01/13(土) 17:32:56.34244デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/13(土) 17:37:30.75ID:bxTj5irD0245デフォルトの名無しさん (ワッチョイ 5d75-JLCo)
2018/01/13(土) 17:46:52.02ID:GYwe1Ej/0 >>235
やっぱアセンブララッパー言語はゴミコードだな
やっぱアセンブララッパー言語はゴミコードだな
246デフォルトの名無しさん (ワッチョイ 6d9f-QpsD)
2018/01/13(土) 17:54:43.58ID:ZTdbWh7g0 setjmp(), longjmp() 使う時も volatile 使わねばならない時がある。
https://www.jpcert.or.jp/sc-rules/c-msc22-c.html
ま、longjmp() 使うこと自体が稀だろうとは思うが。
https://www.jpcert.or.jp/sc-rules/c-msc22-c.html
ま、longjmp() 使うこと自体が稀だろうとは思うが。
247デフォルトの名無しさん (スッップ Sd0a-oEMS)
2018/01/13(土) 18:03:55.93ID:n17MDyEZd 長いことやってるがsetjump,longjump見たことない。
248デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/13(土) 18:11:34.78ID:dAIHjdGT0 >>247
volatileは?
volatileは?
249デフォルトの名無しさん (ワッチョイ 6d9f-QpsD)
2018/01/13(土) 19:14:06.13ID:ZTdbWh7g0 そういや上でスレッドとは書いたが、スレッド間の同期に volatile は使わない方がいい。
なぜスレッド間の同期にvolatileを使ってはいけない?
https://ja.stackoverflow.com/questions/1538/%E3%81%AA%E3%81%9C%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E9%96%93%E3%81%AE%E5%90%8C%E6%9C%9F%E3%81%ABvolatile%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%AF%E3%81%84%E3%81%91%E3%81%AA%E3%81%84
なぜスレッド間の同期にvolatileを使ってはいけない?
https://ja.stackoverflow.com/questions/1538/%E3%81%AA%E3%81%9C%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E9%96%93%E3%81%AE%E5%90%8C%E6%9C%9F%E3%81%ABvolatile%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%AF%E3%81%84%E3%81%91%E3%81%AA%E3%81%84
250デフォルトの名無しさん (スッップ Sd0a-oEMS)
2018/01/13(土) 19:19:08.96ID:n17MDyEZd >>248
組み込みなら普通に使う。
組み込みなら普通に使う。
251デフォルトの名無しさん (ワッチョイ eab3-J7fK)
2018/01/13(土) 19:20:14.49ID:8qhapkmN0 >>244
マルチスレッドとか使ったことないのか?
マルチスレッドとか使ったことないのか?
252デフォルトの名無しさん (ワッチョイ 8a02-UJUP)
2018/01/13(土) 19:29:24.04ID:NEwrBGsG0 longjmpはC++の例外のクソさに耐えきれなくなったときに使う
>>249
普通は同期用の専用オブジェクト(mutex とか semaphoe とか)を使っておくね、それでいいよね…
普通は同期用の専用オブジェクト(mutex とか semaphoe とか)を使っておくね、それでいいよね…
254デフォルトの名無しさん (ワッチョイ 6d9f-7doJ)
2018/01/13(土) 20:16:39.27ID:ZTdbWh7g0 >>253
そうそう。それでいい。
そうそう。それでいい。
255デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/13(土) 20:30:50.57ID:bxTj5irD0 >>249
そのサンプルコード、ハンドシェークしてるんだが、そもそも普通これしないよな?
並列させたいだけなら、普通はシグナル(sleep/wake up)で同期させる。それの方が軽いはずだし。
スピンロックでハンドシェークって、完全非同期で独立動作してるときだが、
あまり用途は無いと思うんだが。
そのサンプルコード、ハンドシェークしてるんだが、そもそも普通これしないよな?
並列させたいだけなら、普通はシグナル(sleep/wake up)で同期させる。それの方が軽いはずだし。
スピンロックでハンドシェークって、完全非同期で独立動作してるときだが、
あまり用途は無いと思うんだが。
256デフォルトの名無しさん (ワッチョイ 8da8-5nGQ)
2018/01/13(土) 20:49:33.28ID:rmFGNtGi0 例えば、スイッチを入れると割り込みが入ってループから抜け出すプログラムとかでループ制御フラグをvolatileにする。
257デフォルトの名無しさん (ワントンキン MM7a-Hx09)
2018/01/13(土) 20:58:01.89ID:2PBiFoHjM HDLCのモード変更とかに使うな
258デフォルトの名無しさん (ワッチョイ fa96-YM1W)
2018/01/13(土) 21:51:39.64ID:2B+wxQGy0 ちんこを弄るな
259デフォルトの名無しさん (ワッチョイ 6a9b-p8jN)
2018/01/14(日) 00:51:15.96ID:+jsAfOue0 vbaを扱えるようになったんで次にC言語触ってみようと思うんですが、どう勉強してったらいいですか?これ作ればあらかた基礎コードや仕組みが学べるものってあります?
やることによるんだろうけど、例えばテトリス作れば基礎が固まるとか。ネット検索しても今一ピンとこなくて。
おすすめの参考書とかもあれば教えてください。
やることによるんだろうけど、例えばテトリス作れば基礎が固まるとか。ネット検索しても今一ピンとこなくて。
おすすめの参考書とかもあれば教えてください。
260デフォルトの名無しさん (ブーイモ MMc9-Hx09)
2018/01/14(日) 04:21:14.53ID:8rZxUVb3M つ unix 4.3bsdの設計と実装
261デフォルトの名無しさん (ワッチョイ ad7e-UJUP)
2018/01/14(日) 07:03:14.93ID:N+BeAo4b0 >>259
せっかくvba憶えたんならマシン語から入ってみては?
https://pf-j.桜.ne.jp/program/tips/vbasm.htm
ちな俺はBASIC->マシン語->Cで憶えたクチで
マシン語が透けて見えるCの特徴をありありと感じながら使えて
多重レベルポインタの**を全く悩まずにすんなり習得できた
せっかくvba憶えたんならマシン語から入ってみては?
https://pf-j.桜.ne.jp/program/tips/vbasm.htm
ちな俺はBASIC->マシン語->Cで憶えたクチで
マシン語が透けて見えるCの特徴をありありと感じながら使えて
多重レベルポインタの**を全く悩まずにすんなり習得できた
262デフォルトの名無しさん (ワイモマー MM21-62yH)
2018/01/14(日) 08:31:23.76ID:Ef+VW+YvM263デフォルトの名無しさん (ワッチョイ ad7e-UJUP)
2018/01/14(日) 10:22:10.54ID:N+BeAo4b0 dirはファイルアクセスせんだろ
ファイルシステムに問い合わせをするだけで
ファイルシステムに問い合わせをするだけで
264デフォルトの名無しさん (ワッチョイ 6d9f-QpsD)
2018/01/14(日) 11:13:36.96ID:zRc3xs8X0 ディレクトリも一応ファイルと言えばファイルなわけで・・・
265デフォルトの名無しさん (ワッチョイ ad7e-UJUP)
2018/01/14(日) 11:20:44.66ID:N+BeAo4b0 openもcloseもせんしデータ構造を理解してseekする必要もない
266デフォルトの名無しさん (ワッチョイ b5b3-aDaF)
2018/01/14(日) 11:22:32.01ID:D7wQbzM+0 >>259
Small-Cっていう C言語のサブセットがあって、
そのコンパイラを作るって本があったよ。
オレはこれで C言語の基礎を勉強した。
30年くらい前かな?
たぶん絶版で入手困難だと思う。
あと、アンドリュータネンバウム先生のMINIXオペレーティングシステムも勉強になる。
Linuxを作ったリーナストーバルズもアンドリュータネンバウム先生の教え子だったはず。
Small-Cっていう C言語のサブセットがあって、
そのコンパイラを作るって本があったよ。
オレはこれで C言語の基礎を勉強した。
30年くらい前かな?
たぶん絶版で入手困難だと思う。
あと、アンドリュータネンバウム先生のMINIXオペレーティングシステムも勉強になる。
Linuxを作ったリーナストーバルズもアンドリュータネンバウム先生の教え子だったはず。
267デフォルトの名無しさん (ワントンキン MM7a-Hx09)
2018/01/14(日) 11:24:11.16ID:/nnp4I9gM ディスクの挙動が知りたければ、Read Diagnostic だな
268デフォルトの名無しさん
2018/01/14(日) 11:47:19.55 初心者は結城浩先生の
新版C言語プログラミングレッスン-入門編-
あたりで学習しときなyo!
新版C言語プログラミングレッスン-入門編-
あたりで学習しときなyo!
269デフォルトの名無しさん (ワッチョイ b623-6xgx)
2018/01/14(日) 16:37:50.53ID:zRC3vmOw0270デフォルトの名無しさん (ドコグロ MM6d-J7fK)
2018/01/14(日) 16:42:35.43ID:DgdnagvNM まあ必要ないなら特にやらなくてもいいんじゃね
271デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/14(日) 17:24:36.08ID:X58RAQQJ0 プログラミング初心者なんだけどコマンドプロンプトとかの知識って必要なん?
一応簡単なバッチファイル作れるレベルまでは来たんだけど
一応簡単なバッチファイル作れるレベルまでは来たんだけど
272デフォルトの名無しさん (ワッチョイ eab3-J7fK)
2018/01/14(日) 17:29:47.43ID:dCYCQwP30 バッチファイルが作れるレベルでコマンドプロンプトの知識が必要かどうかがわからんとかあり得るのか...
274デフォルトの名無しさん (アウアウカー Sa55-f6zg)
2018/01/14(日) 17:51:22.52ID:q1SBtCCQa >>271
君にとって必要かどうかは君がこれから何をするかによって変わる。
君にとって必要かどうかは君がこれから何をするかによって変わる。
275デフォルトの名無しさん (ワッチョイ 5e7f-o2Il)
2018/01/14(日) 22:04:36.32ID:t1pyzP2Y0 ファイルのIOの部分難解すぎて意味がわからない。
・文字列を処理したいのにchar型とかint型とか byte型とか
出て来るしtry catchとかIOExceptionとか何なのかがよくわからない。
・なんとかOutputStreamとか なんとかReader Writerが
おおすぎてどれを使っていいかわからない。
・オブジェクトを生成して別のコンストラクタの引数に渡している部分が
何をしているのかさっぱりわからない。
・BufferedReader / Writerとかを使う必要があるのかないのかよくわからない。
・結局文字列を読み書きするのとバイトを読み書きするのが何が違いがあるの?
・for(item : list){}文は使えないの?
・文字列を処理したいのにchar型とかint型とか byte型とか
出て来るしtry catchとかIOExceptionとか何なのかがよくわからない。
・なんとかOutputStreamとか なんとかReader Writerが
おおすぎてどれを使っていいかわからない。
・オブジェクトを生成して別のコンストラクタの引数に渡している部分が
何をしているのかさっぱりわからない。
・BufferedReader / Writerとかを使う必要があるのかないのかよくわからない。
・結局文字列を読み書きするのとバイトを読み書きするのが何が違いがあるの?
・for(item : list){}文は使えないの?
276デフォルトの名無しさん (ワッチョイ 5e7f-o2Il)
2018/01/14(日) 22:05:03.57ID:t1pyzP2Y0 すみません、Javaのスレに書こうとして間違えました
277デフォルトの名無しさん (ワッチョイ ad6a-UJUP)
2018/01/14(日) 22:22:24.52ID:66CfjFh30 わざとらし
278デフォルトの名無しさん (アウアウカー Sa55-Z1zf)
2018/01/15(月) 16:29:12.24ID:Tn3KPM3Ba fwprintf(stdout,L"日本語");
4回に1回くらい文字欠けするんだが...
4回に1回くらい文字欠けするんだが...
279デフォルトの名無しさん (ワントンキン MM7a-Hx09)
2018/01/15(月) 16:36:24.18ID:GvSfmnTrM fflush入れてみろ
もしくはsetvbufでバッファーサイズを0に
もしくはsetvbufでバッファーサイズを0に
280デフォルトの名無しさん (ワッチョイ ea6e-EKU2)
2018/01/15(月) 19:03:01.00ID:WG2cD3TY0 プログラミング全く関係ねぇんだけど
組み込み系のプログラマーって電子制御とか電子回路、機械工学の知識必要ないん?
これ絶対プログラミングだけの知識で食っていける分野じゃねぇだろ
組み込み系のプログラマーって電子制御とか電子回路、機械工学の知識必要ないん?
これ絶対プログラミングだけの知識で食っていける分野じゃねぇだろ
281デフォルトの名無しさん (オッペケ Srbd-01qY)
2018/01/15(月) 19:07:26.61ID:nis3xk1Qr 必要ないわけ無いじゃんw
何でそんな勘違いにたどり着いたしw
何でそんな勘違いにたどり着いたしw
282デフォルトの名無しさん (ワッチョイ ea6e-EKU2)
2018/01/15(月) 19:12:07.64ID:WG2cD3TY0283デフォルトの名無しさん (オッペケ Srbd-01qY)
2018/01/15(月) 19:14:45.00ID:nis3xk1Qr Cは別に組み込み専用言語でもないんだし、勉強続けりゃ良いじゃん。
284デフォルトの名無しさん (ワッチョイ ea6e-EKU2)
2018/01/15(月) 19:18:35.04ID:WG2cD3TY0 >>283
あほやなぁ...
組み込み系以外でc言語の案件なんかまともにねぇだろ
どっかでグラフ見たけどcの用途なんか限られまくってるし
素直にPython勉強して人工知能するわ
人工知能なら電子回路とか機械工学の知識必要なさそうだし
あほやなぁ...
組み込み系以外でc言語の案件なんかまともにねぇだろ
どっかでグラフ見たけどcの用途なんか限られまくってるし
素直にPython勉強して人工知能するわ
人工知能なら電子回路とか機械工学の知識必要なさそうだし
285デフォルトの名無しさん
2018/01/15(月) 19:24:26.25 組み込みCもいずれは勘定系のCOBOLみたいにごく一握りの職人にしかメンテできない時代になるんかな
286デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/15(月) 19:30:46.90ID:kUJAacmi0 >>285
ヒエ〜!
機械工学科と電子電気科でもプログラミングの授業に力を入れる運動が出て来てるし(メカニクス的な意味で)こわい
情報学科って生きていけるんやろうか
俺も今のうちに基本的な電子回路制御の知識はつけておくべきか
アルゴリズムとか通信系学んだところでなんの意味があるんだくそがっ!
ヒエ〜!
機械工学科と電子電気科でもプログラミングの授業に力を入れる運動が出て来てるし(メカニクス的な意味で)こわい
情報学科って生きていけるんやろうか
俺も今のうちに基本的な電子回路制御の知識はつけておくべきか
アルゴリズムとか通信系学んだところでなんの意味があるんだくそがっ!
287デフォルトの名無しさん (アウアウカー Sa55-f6zg)
2018/01/15(月) 19:31:33.79ID:IGiFRvDqa どうかなあ?少なくとも新しいデバイスのデバイスドライバはC使われ続けるんじゃないか?丸々全部アセンブラにするより楽だから。
その後の処理は何の言語でも良い。
その後の処理は何の言語でも良い。
288デフォルトの名無しさん (アウアウカー Sa55-f6zg)
2018/01/15(月) 19:36:30.16ID:IGiFRvDqa あとやはりOSはまだまだC言語使われ続けると思う。UNIXやLinuxは根深いからな。
LinuxなんかAndroidのベースになっちゃったしそこらじゅうのネットワーク機器や家電に入っちゃったもんだからまだまだ思い切り使われ続けるだろう。
LinuxなんかAndroidのベースになっちゃったしそこらじゅうのネットワーク機器や家電に入っちゃったもんだからまだまだ思い切り使われ続けるだろう。
289デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/15(月) 20:00:27.65ID:kUJAacmi0 Linuxってc言語で作られてるんか...?
291デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/15(月) 20:12:27.42ID:kUJAacmi0 とりあえず電子電気工学とか機械工学科じゃ太刀打ちできない人工知能の研究室選ぶは...
やっぱ時代はアルゴリズムや!
やっぱ時代はアルゴリズムや!
292デフォルトの名無しさん (JP 0Hb5-sUJ4)
2018/01/15(月) 20:20:47.80ID:U6Q/Luf4H 人工知能の高速化にGPUとASICが必要になる時代にCから逃げられると思うなよ
293デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/15(月) 20:22:02.89ID:kUJAacmi0294デフォルトの名無しさん (ワッチョイ c576-01qY)
2018/01/15(月) 20:40:53.91ID:uOPIDlxY0295デフォルトの名無しさん (アウアウウー Sa21-QpsD)
2018/01/15(月) 21:03:20.78ID:hdW0ysAta プログラマーは鳥籠のようなものだ。
外にいる鳥たちはいたずらに中に入ろうとし、
中にいる鳥たちはいたずらに外に出ようともがく。
外にいる鳥たちはいたずらに中に入ろうとし、
中にいる鳥たちはいたずらに外に出ようともがく。
296デフォルトの名無しさん (ササクッテロレ Spbd-5nGQ)
2018/01/15(月) 21:13:12.91ID:dih2S4/fp 見聞を広げた方が、新しいアイデア浮かぶから、捨てるなんて馬鹿な選択するな。
むしろ全く関係無い分野の知識が思わぬアイデアを出してくれるのがこの業界。
むしろ全く関係無い分野の知識が思わぬアイデアを出してくれるのがこの業界。
297デフォルトの名無しさん (アウアウウー Sa21-QpsD)
2018/01/15(月) 21:13:57.00ID:hdW0ysAta >>289
そう。ソース公開されてるから見てみな。
所々アセンブラ使ってる所があったとは思うが大半がC言語。
これについてはUNIXも同じ。というかむしろOS作って配布しやすくするためにC言語作ったようなもの。
そうするとCPUが違っても移植が楽だからね。
そう。ソース公開されてるから見てみな。
所々アセンブラ使ってる所があったとは思うが大半がC言語。
これについてはUNIXも同じ。というかむしろOS作って配布しやすくするためにC言語作ったようなもの。
そうするとCPUが違っても移植が楽だからね。
298デフォルトの名無しさん (ワッチョイ 8a0b-UJUP)
2018/01/15(月) 21:22:28.42ID:/vxf22Ts0 >>295
それだけ根性ねえやつがなる職業ってことかねえ
俺の時代っちゃなんだけど、あの当時は大学に情報処理のコースなんかほとんどなくて
大人たちはみんなゲーム小僧の遊びの延長はメインフレームには関係ねえなんて
ぬかしてやがってて、それでも実際に大学のセンターと家のマイコンを触り比べて
一縷の勝ち目を感じるのを信じて大勝負に出たんだよ
でジジイたちにひと泡吹かせることにはいちおう成功した
今さら後悔なんかしてねえぜ
それだけ根性ねえやつがなる職業ってことかねえ
俺の時代っちゃなんだけど、あの当時は大学に情報処理のコースなんかほとんどなくて
大人たちはみんなゲーム小僧の遊びの延長はメインフレームには関係ねえなんて
ぬかしてやがってて、それでも実際に大学のセンターと家のマイコンを触り比べて
一縷の勝ち目を感じるのを信じて大勝負に出たんだよ
でジジイたちにひと泡吹かせることにはいちおう成功した
今さら後悔なんかしてねえぜ
299デフォルトの名無しさん
2018/01/15(月) 21:37:18.31 ぜひ組み込みCを自らプログラミングできる人工知能を生み出して
このスレにいる前時代の遺物のおっさんどもをギャフンと言わせてほしい
このスレにいる前時代の遺物のおっさんどもをギャフンと言わせてほしい
300デフォルトの名無しさん (ワッチョイ 8a0b-UJUP)
2018/01/15(月) 21:50:33.67ID:/vxf22Ts0 >>299
てめえでやれカス
てめえでやれカス
301デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/15(月) 21:52:15.74ID:nB3IxhPi0 自らをプログラミングできる人工知能が実現できたらそれシンギュラリティの到来だろ
https://ja.wikipedia.org/wiki/%E6%8A%80%E8%A1%93%E7%9A%84%E7%89%B9%E7%95%B0%E7%82%B9
https://ja.wikipedia.org/wiki/%E6%8A%80%E8%A1%93%E7%9A%84%E7%89%B9%E7%95%B0%E7%82%B9
302デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/15(月) 21:54:53.07ID:kUJAacmi0 情報工学だからこそっていう仕事ねぇのか?
組み込み系って
情報工学でもやっていけるんか結局?
機械工学、電気電子のやつより上にたてる?
あいつらよりは地位上でいたい
なんかムカつくから
組み込み系って
情報工学でもやっていけるんか結局?
機械工学、電気電子のやつより上にたてる?
あいつらよりは地位上でいたい
なんかムカつくから
303デフォルトの名無しさん (ワッチョイ 8a0b-UJUP)
2018/01/15(月) 22:02:04.83ID:/vxf22Ts0 あくまで私見だけどね
ストレートに情報へ行ったやつより
遠回りしてきたやつのほうが
俺は個人的には期待しちゃうな
ストレートタイプにもすげえのいるけど
確率論的なやつで
ストレートに情報へ行ったやつより
遠回りしてきたやつのほうが
俺は個人的には期待しちゃうな
ストレートタイプにもすげえのいるけど
確率論的なやつで
304デフォルトの名無しさん
2018/01/15(月) 22:18:51.33 情報工学って結局何ができるのかね?
プログラミングなんかやってる奴よりは
MATLABとか操ってる奴の方が格上だし
PowerPointとExcelしか触らない奴の方がさらに格上だわな
プログラミングなんかやってる奴よりは
MATLABとか操ってる奴の方が格上だし
PowerPointとExcelしか触らない奴の方がさらに格上だわな
305デフォルトの名無しさん (ワッチョイ a58a-oih1)
2018/01/15(月) 22:25:47.87ID:nB3IxhPi0306デフォルトの名無しさん (ワッチョイ a58a-oih1)
2018/01/15(月) 22:37:06.36ID:nB3IxhPi0 電気電子では技術者、情報では研究者、立場的に主流となる流れが違う印象だね
307デフォルトの名無しさん (ワッチョイ 6a12-0PCX)
2018/01/15(月) 23:01:39.51ID:onFPJNQZ0 >>302
そもそもpythonがC言語で書かれてるから当分は心配しなくていい
そもそもpythonがC言語で書かれてるから当分は心配しなくていい
308デフォルトの名無しさん (ブーイモ MM8e-sUJ4)
2018/01/15(月) 23:08:49.73ID:AcA+4g8TM 日本じゃソフトはハードのおまけだからどの分野でも立場は上がらないよ。
人工知能も車とかその他製品の便利機能にすぎん。
人工知能も車とかその他製品の便利機能にすぎん。
309デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/15(月) 23:13:08.80ID:nB3IxhPi0 士・農・工・商・メカ・エレ・ソフト
機構設計(メカ)、ハード設計(エレキ)、ソフトの順で、ソフト技術者は最底辺ではある
機構設計(メカ)、ハード設計(エレキ)、ソフトの順で、ソフト技術者は最底辺ではある
310デフォルトの名無しさん (ワッチョイ 5db3-gDcf)
2018/01/15(月) 23:15:12.96ID:xzJWiyyq0 マ板でおけ
311デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/15(月) 23:29:43.21ID:kUJAacmi0312デフォルトの名無しさん (ワッチョイ 6d9f-QpsD)
2018/01/15(月) 23:43:19.63ID:sGlCIifU0 >>298
で、何をやったんだ?
で、何をやったんだ?
313デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/15(月) 23:52:43.23ID:nB3IxhPi0 >>311
例えばだが、運動解析や流体解析などの人工知能を弄るような場合などは機械系の出身者の方が純粋培養の情報系よりは役に立つだろうな
工学の応用という点では情報だけでは潰しが効かない
何か秀でた専門分野を持っていれば強力な武器になる
例えばだが、運動解析や流体解析などの人工知能を弄るような場合などは機械系の出身者の方が純粋培養の情報系よりは役に立つだろうな
工学の応用という点では情報だけでは潰しが効かない
何か秀でた専門分野を持っていれば強力な武器になる
314デフォルトの名無しさん
2018/01/16(火) 00:42:39.48 俺は仕事で必要になるまでアクチュエータという言葉すら聞いたことがなかった
サチュレーションとかハンチングとかもしかり
結局、純粋な情報系なんて糞食らえってことだ
サチュレーションとかハンチングとかもしかり
結局、純粋な情報系なんて糞食らえってことだ
315デフォルトの名無しさん (ワッチョイ 399e-IhuN)
2018/01/16(火) 00:54:39.43ID:IrFXasJ10 C言語なら俺に聞け、って言われれも…
こいつら全然違う話ばっかしてんじゃんかよ。
こいつら全然違う話ばっかしてんじゃんかよ。
316デフォルトの名無しさん (ブーイモ MM8e-sUJ4)
2018/01/16(火) 00:57:42.41ID:s9ShBvNKM >>315
お前が聞かないから
お前が聞かないから
317デフォルトの名無しさん (ワンミングク MM7a-euJe)
2018/01/16(火) 01:50:08.80ID:ai9xYpzuM 最近の流行りで言えば、たぶんブロックチェーンは情報系。
他にはOSとかコンパイラとか人工知能そのものがたぶん情報系。
「情報系の成果を他の工学で使う」話をしてるのだったら、他の工学の知識の方が重要になるに決まってる。
他にはOSとかコンパイラとか人工知能そのものがたぶん情報系。
「情報系の成果を他の工学で使う」話をしてるのだったら、他の工学の知識の方が重要になるに決まってる。
318デフォルトの名無しさん (ワッチョイ aad4-1Ifv)
2018/01/16(火) 01:53:49.35ID:r8efykKY0 何言ってんだこのバカ
319デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/16(火) 02:22:28.13ID:fnx7xBaf0 いや俺は>>317は当たっていると思うぞ。
情報系はソフトウェアそのものにフォーカスしてる。
だから最終的にソフトウェアで完結する物については情報系でいい。
当たり前だが他知識がない分、ソフトウェア技術で上回っている必要がある。
(工学系他と同程度のソフトしか書けないのであれば、他知識がない分糞なだけ)
ブロックチェーン(P2P)/OS/コンパイラ/人工知能『そのもの』はソフトウェアで完結してる。
他は超並列とか、少し前ならクラウドや仮想化/ライブマイグレーションとか。
情報系はソフトウェアそのものにフォーカスしてる。
だから最終的にソフトウェアで完結する物については情報系でいい。
当たり前だが他知識がない分、ソフトウェア技術で上回っている必要がある。
(工学系他と同程度のソフトしか書けないのであれば、他知識がない分糞なだけ)
ブロックチェーン(P2P)/OS/コンパイラ/人工知能『そのもの』はソフトウェアで完結してる。
他は超並列とか、少し前ならクラウドや仮想化/ライブマイグレーションとか。
320デフォルトの名無しさん (ワッチョイ a58a-oih1)
2018/01/16(火) 03:31:07.22ID:Kooe0tJU0 情報科学とソフトウェア工学が中途半端に混じり合った上に、計算機科学や電子工学と被る部分も大きく、訳わからんのがいわゆる情報工学という学問分野
技術の発展を基盤とする工学なのか、純粋理論を追求する科学なのかスッキリしない
個人的に情報系の学問の本質は数学や物理学などの科学に近いと考えているが、ソフトウェアだけに限れば工学的なアプローチも間違いとは言えない
ただ情報系がソフトウェアだけにフォーカスしたものと言うのは極論すぎる
技術の発展を基盤とする工学なのか、純粋理論を追求する科学なのかスッキリしない
個人的に情報系の学問の本質は数学や物理学などの科学に近いと考えているが、ソフトウェアだけに限れば工学的なアプローチも間違いとは言えない
ただ情報系がソフトウェアだけにフォーカスしたものと言うのは極論すぎる
321デフォルトの名無しさん (ワッチョイ 9ee7-IhuN)
2018/01/16(火) 05:06:01.65ID:EEvazAeE0 情報系の土台は神様から頂くのですね。
322デフォルトの名無しさん (ワッチョイ add5-UJUP)
2018/01/16(火) 06:47:54.46ID:zATeRHxg0 >>311
メカに強いとこんな真似ができたりね
https://www.youtube.com/watch?v=vluzeaVvpU0&t=356s
https://www.youtube.com/watch?v=wi4dKAseDCg&t=67s
メカに強いとこんな真似ができたりね
https://www.youtube.com/watch?v=vluzeaVvpU0&t=356s
https://www.youtube.com/watch?v=wi4dKAseDCg&t=67s
323デフォルトの名無しさん (アウアウカー Sa55-EKU2)
2018/01/16(火) 18:09:55.18ID:I7+QVB4Ua むしろこのご時世でプログラミングで食っていけるc言語プログラマーどこにいんの?
俺はweb系だしc言語詳しくないから友人の話だけど自動車のアンチロックブレーキシステムなんかの制御は自動車の知識をトップレベルで持つものにしかさわれないらしいな
c言語なんてweb系でもアプリ系でも使われてない以上むしろ機械系の人間専用みたいなとこあるんじゃないん
俺はweb系だしc言語詳しくないから友人の話だけど自動車のアンチロックブレーキシステムなんかの制御は自動車の知識をトップレベルで持つものにしかさわれないらしいな
c言語なんてweb系でもアプリ系でも使われてない以上むしろ機械系の人間専用みたいなとこあるんじゃないん
324デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/16(火) 18:58:32.24ID:fnx7xBaf0 やっぱWeb系は馬鹿だなとしか。
そういえばWeb系は情報系でも問題ないね。完全にソフトウェアでしかないし。
というかマジでWeb系は腹が立つほどレベルが低いから、
ちゃんと勉強した情報系の連中が押し寄せて、今のWeb系全員殺して欲しい。
C界隈にも分かるように言うと、「スクリプト言語しか出来ない奴をプログラマと呼ぶな」っての、偶にいるだろ。
あれよりさらに輪をかけて酷い感じ。
そういえばWeb系は情報系でも問題ないね。完全にソフトウェアでしかないし。
というかマジでWeb系は腹が立つほどレベルが低いから、
ちゃんと勉強した情報系の連中が押し寄せて、今のWeb系全員殺して欲しい。
C界隈にも分かるように言うと、「スクリプト言語しか出来ない奴をプログラマと呼ぶな」っての、偶にいるだろ。
あれよりさらに輪をかけて酷い感じ。
325デフォルトの名無しさん (ワッチョイ 6a12-0PCX)
2018/01/16(火) 18:59:42.08ID:IFxShTi+0 ・実は情報系人材以外のエンジニアにはオブジェクト指向や関数型は難し過ぎる
現代的?な言語の中でそこそこ簡単でそこそこ使えるのは実はCしかない
・機械語に変換して全て精査する場合は機械語に近い方がいいかもしれない
原発とかロケットとか製鉄所とかエアバスとか人工衛星とかいろいろ
現代的?な言語の中でそこそこ簡単でそこそこ使えるのは実はCしかない
・機械語に変換して全て精査する場合は機械語に近い方がいいかもしれない
原発とかロケットとか製鉄所とかエアバスとか人工衛星とかいろいろ
まあ C の言語仕様は比較的簡単な部類だと思いますしライブラリも貧弱だし
327デフォルトの名無しさん (ドコグロ MM6d-J7fK)
2018/01/16(火) 19:02:42.12ID:P6mPXtajM >>323
まあ車の制御系は機能安全とかも要求されるからハードル高いわな
でも車でもボディ系(ワイパーとかパーウインドの制御とかいわゆる上半分のところ)はそこまで厳しくない
あと車じゃなくても家電製品とかプリンタとかカメラとかありとあらゆるものにソフトが入ってる時代だから組込屋って意外としぶとく生き残ってるよ
まあ車の制御系は機能安全とかも要求されるからハードル高いわな
でも車でもボディ系(ワイパーとかパーウインドの制御とかいわゆる上半分のところ)はそこまで厳しくない
あと車じゃなくても家電製品とかプリンタとかカメラとかありとあらゆるものにソフトが入ってる時代だから組込屋って意外としぶとく生き残ってるよ
328デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/16(火) 19:08:39.06ID:0ZvsnQMA0 web系ってばかではないでしょ
むしろ天才気質が多い
むしろ天才気質が多い
329デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/16(火) 19:10:51.68ID:Kooe0tJU0 プログラミングだけなら文系でもできる
ただC言語の中心である組み込み機器の制御系のプログラム設計/作成となると文系では荷が重い
制御プログラムの中身というか制御モデルは大量の連立微分方程式で記述される
機械系にしろ電気電子系にしろ制御理論にある程度精通していないと手も足も出ない
工学系技術者としての存在意義はC言語の文法に精通することではなくて、C言語(別に何の言語でもいいけど)でシステム設計/記述が出来る点にある
自分は電子系出身で専門はブラシレスモータのベクトル制御の分野
簡単に言えばハイブリッド自動車などの駆動モータ制御なんかで使われている技術のこと
ただC言語の中心である組み込み機器の制御系のプログラム設計/作成となると文系では荷が重い
制御プログラムの中身というか制御モデルは大量の連立微分方程式で記述される
機械系にしろ電気電子系にしろ制御理論にある程度精通していないと手も足も出ない
工学系技術者としての存在意義はC言語の文法に精通することではなくて、C言語(別に何の言語でもいいけど)でシステム設計/記述が出来る点にある
自分は電子系出身で専門はブラシレスモータのベクトル制御の分野
簡単に言えばハイブリッド自動車などの駆動モータ制御なんかで使われている技術のこと
330デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/16(火) 19:14:20.95ID:0ZvsnQMA0331デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/16(火) 19:18:29.08ID:Kooe0tJU0332デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/16(火) 19:23:16.79ID:0ZvsnQMA0 >>331
【朗報】ワイ、情報工学生、希望を持つ
【朗報】ワイ、情報工学生、希望を持つ
333デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/16(火) 19:24:51.35ID:fnx7xBaf0 >>325
> ・実は情報系人材以外のエンジニアにはオブジェクト指向や関数型は難し過ぎる
そんな訳ない。それはお前が理解出来てないだけ。
そもそもオブジェクト指向自体が「複雑化するソフトウェアを『簡単にする』」為に生まれた物であって、
オブジェクト指向ではまだ足りない、というので『関数型』が持て囃された。
本来は、関数型>オブジェクト指向>それ以前、の順で簡単なんだよ。
だからレガシーCOBOL等には手をつけられない事態になっているわけでね。
(ただしオブジェクト指向も関数型も馬鹿(=意識高い系)が調子に乗って暴走しているが)
Cが組み込みに使われるのは、余分なことをせず、書いた通りに動くから。
組み込み分野が広がっているのは、機械式よりも電子式制御のほうが圧倒的に楽だから。
考えてみろよ、車のエンジンで燃費最適化でバルブの開閉/点火タイミングを調整したいとき、
電子式なら1usずつ振るのも楽勝だが、機械式だと死ねるだろ。
VWの排ガス不正なんて、機械式では絶対に無理だった話だぞ。
> ・実は情報系人材以外のエンジニアにはオブジェクト指向や関数型は難し過ぎる
そんな訳ない。それはお前が理解出来てないだけ。
そもそもオブジェクト指向自体が「複雑化するソフトウェアを『簡単にする』」為に生まれた物であって、
オブジェクト指向ではまだ足りない、というので『関数型』が持て囃された。
本来は、関数型>オブジェクト指向>それ以前、の順で簡単なんだよ。
だからレガシーCOBOL等には手をつけられない事態になっているわけでね。
(ただしオブジェクト指向も関数型も馬鹿(=意識高い系)が調子に乗って暴走しているが)
Cが組み込みに使われるのは、余分なことをせず、書いた通りに動くから。
組み込み分野が広がっているのは、機械式よりも電子式制御のほうが圧倒的に楽だから。
考えてみろよ、車のエンジンで燃費最適化でバルブの開閉/点火タイミングを調整したいとき、
電子式なら1usずつ振るのも楽勝だが、機械式だと死ねるだろ。
VWの排ガス不正なんて、機械式では絶対に無理だった話だぞ。
334デフォルトの名無しさん (ワッチョイ 5db3-gDcf)
2018/01/16(火) 19:44:58.49ID:W13bP77P0 で、人生相談続けるの?
335デフォルトの名無しさん (ドコグロ MM6d-J7fK)
2018/01/16(火) 19:59:05.46ID:P6mPXtajM336デフォルトの名無しさん (ドコグロ MM6d-J7fK)
2018/01/16(火) 20:00:40.82ID:P6mPXtajM337デフォルトの名無しさん (ワッチョイ 398a-Hx09)
2018/01/16(火) 21:13:38.86ID:E1MTmeKy0 シーケンサとラダー図使わないか?
338デフォルトの名無しさん (アウアウカー Sa55-f6zg)
2018/01/16(火) 21:22:59.09ID:npxrv4qJa >>323
ここに居る。
ここに居る。
339デフォルトの名無しさん (ワッチョイ c5c3-Un2m)
2018/01/16(火) 21:31:58.75ID:N4XSyAvU0 マ行け
340デフォルトの名無しさん (ワッチョイ 11d0-EKU2)
2018/01/16(火) 22:08:44.23ID:0ZvsnQMA0 連立微分方程式ってc言語で解けるもんなんか
そうとう頭良くないと難しそうだな
そうとう頭良くないと難しそうだな
341デフォルトの名無しさん (ワッチョイ 6681-XCNn)
2018/01/16(火) 22:24:41.98ID:Mn3qJax30 何を制御したいかにもよりそう
変数が2つ以上あれば連立になるんでしょ
変数が2つ以上あれば連立になるんでしょ
342デフォルトの名無しさん (ワッチョイ 9ee7-IhuN)
2018/01/16(火) 22:46:04.76ID:62ym9vcY0 自動制御は数式の塊
343デフォルトの名無しさん
2018/01/16(火) 22:51:20.18 ラスカル変換とか自慰定数とかわけわからんよな
344デフォルトの名無しさん (ワッチョイ 6ad7-bCzB)
2018/01/17(水) 00:23:33.18ID:n4hXUBWy0 アライグマかよ
345愛知人
2018/01/17(水) 00:55:17.46ID:BsDn1sQu 連立微分方程式を解くのはmatlabでやるんだろ
その結果を使って制御プログラムをCで実装する
その結果を使って制御プログラムをCで実装する
346デフォルトの名無しさん (アウアウカー Sa55-EKU2)
2018/01/17(水) 01:34:39.49ID:mXaMftmXa まぁ結論から言うとプログラミングが必要な技術者とかいないから安心しとけ
機械系とか電気系はプログラミング理解してるとむしろ馬鹿にされる
無駄な知識付けてるってことだから要領ないってことだし
機械系とか電気系はプログラミング理解してるとむしろ馬鹿にされる
無駄な知識付けてるってことだから要領ないってことだし
347デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/17(水) 02:14:48.88ID:TP+o0KtY0348デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/17(水) 02:42:01.62ID:rMDm0SCW0 制御での微分方程式は解くためのものじゃない
制御対象の挙動を単純化してモデル化するために使うんだよ
言い換えれば、物理現象をプログラムで扱えるようにするために数式に落とし込むための道具だよ
挙動を記述さえできればプログラムで制御することが出来る
制御対象の挙動を単純化してモデル化するために使うんだよ
言い換えれば、物理現象をプログラムで扱えるようにするために数式に落とし込むための道具だよ
挙動を記述さえできればプログラムで制御することが出来る
349デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/17(水) 02:52:45.50ID:rMDm0SCW0 ついでに言うと微分方程式そのものは代数的に解くんじゃないよ
プログラム上で数値計算によって制御対象(モーター回転数など)がリアルタイムに目標値に追従するように制御量(電圧など)を制御するのが
狙いなので解そのものを求める必要はない
プログラム上で数値計算によって制御対象(モーター回転数など)がリアルタイムに目標値に追従するように制御量(電圧など)を制御するのが
狙いなので解そのものを求める必要はない
350デフォルトの名無しさん (ドコグロ MMb1-J7fK)
2018/01/17(水) 06:37:38.51ID:HCR9Wf85M スレ違いの話を延々と語る池沼
351デフォルトの名無しさん (ワッチョイ a58a-oih1)
2018/01/17(水) 07:34:21.85ID:rMDm0SCW0353デフォルトの名無しさん (ワッチョイ ea6e-EKU2)
2018/01/17(水) 10:55:01.85ID:yTTfDOoo0 >>347
なんだこいつ...
プログラミングを学ぶことは否定しないがそれが別の分野で役立つ
つまり専門的な分野+プログラミングが必要な人材っていうのは嘘
適材適所ってあんだろ、飛行機のパイロットが彦井の設計しますか?
飛行機の設計する人が飛行機内の電子回路制御担当しますか?
飛行機内の電子回路制御担当する人がマイコン系のプログラミング担当しますか?
しない、以上
なんだこいつ...
プログラミングを学ぶことは否定しないがそれが別の分野で役立つ
つまり専門的な分野+プログラミングが必要な人材っていうのは嘘
適材適所ってあんだろ、飛行機のパイロットが彦井の設計しますか?
飛行機の設計する人が飛行機内の電子回路制御担当しますか?
飛行機内の電子回路制御担当する人がマイコン系のプログラミング担当しますか?
しない、以上
354デフォルトの名無しさん (ササクッテロレ Spbd-5nGQ)
2018/01/17(水) 10:58:26.02ID:PqtOC17Fp プログラマについてだけは専業は限界があるんだよな。
別分野で使うツールを作る仕事だから、その分野の事を知らないとまともなインターフェースを提供出来ないからな。
そう言ういみではプログラマほど他業種との交流を大事にしないとならない職業なんだ。
別分野で使うツールを作る仕事だから、その分野の事を知らないとまともなインターフェースを提供出来ないからな。
そう言ういみではプログラマほど他業種との交流を大事にしないとならない職業なんだ。
355デフォルトの名無しさん (ワッチョイ a58a-8O9q)
2018/01/17(水) 11:41:30.70ID:rMDm0SCW0 そういった分野(業務系)ではC言語ではなくて他の言語使った方がいい気がするが…
356デフォルトの名無しさん (ワッチョイ 398a-Hx09)
2018/01/17(水) 12:25:07.42ID:X2mlxDcY0 そそ、普通APL
357デフォルトの名無しさん (アウアウカー Sa55-f6zg)
2018/01/17(水) 12:36:59.86ID:yjhk8Mz+a 俺も彦井の設計してみたい
358デフォルトの名無しさん (ササクッテロレ Spbd-5nGQ)
2018/01/17(水) 14:02:28.16ID:PqtOC17Fp そう言った分野が業務系しか思い浮かばないのがこいつらの限界。
359デフォルトの名無しさん (ドコグロ MM0a-J7fK)
2018/01/17(水) 19:38:25.93ID:2byJTHHUM >>354
プログラミングって日本語とか英語とかで書いてある要件をC言語とかに翻訳する作業だから要件に対する知識とか要件を知ってる人との交流が重要なのは当たり前
政治家に同行する同時通訳者が政治の知識を持ってないと勤まらないとの似たようなもんだよ
プログラミングって日本語とか英語とかで書いてある要件をC言語とかに翻訳する作業だから要件に対する知識とか要件を知ってる人との交流が重要なのは当たり前
政治家に同行する同時通訳者が政治の知識を持ってないと勤まらないとの似たようなもんだよ
360デフォルトの名無しさん (アウアウウー Sa21-QpsD)
2018/01/17(水) 20:21:18.32ID:y7wGJP/da そしてAIが日本語とか英語をそのまま読んでプログラムを作らず、
人の要望に答える動作を自らするようになると。
人の要望に答える動作を自らするようになると。
361デフォルトの名無しさん (ワッチョイ adba-UJUP)
2018/01/17(水) 20:57:44.11ID:bqqIYUkv0 おまえら暢気だなー
ほんっと金銭感覚が絶望的にアウトなやつら
AIが人の要望に応えるまでに
人力でやるべきことは無尽蔵とは言わんまでも
特需はごまんとあるわけで
それを指くわえて見送るのは
アンダードッグな精神構造がそうさせるんだろ
仕事ってそういうもんだぜ?
未来永劫食うに困らないなんて保証はねえんだよ
その時その時の社会情勢を見て自分にできることをやって
おまんまにありつくんだよ
ほんっと金銭感覚が絶望的にアウトなやつら
AIが人の要望に応えるまでに
人力でやるべきことは無尽蔵とは言わんまでも
特需はごまんとあるわけで
それを指くわえて見送るのは
アンダードッグな精神構造がそうさせるんだろ
仕事ってそういうもんだぜ?
未来永劫食うに困らないなんて保証はねえんだよ
その時その時の社会情勢を見て自分にできることをやって
おまんまにありつくんだよ
362デフォルトの名無しさん (ワッチョイ a68a-sUJ4)
2018/01/17(水) 21:33:03.60ID:mulaC6Yl0 >>360
要望はあげられるけれど、それが要求と一致することは稀だよ。良い要求分析ができるAIはしばらく先だろうね。
要望はあげられるけれど、それが要求と一致することは稀だよ。良い要求分析ができるAIはしばらく先だろうね。
363デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/17(水) 21:48:16.14ID:TP+o0KtY0 >>354
同意
>>353
情報系の適所はITドカタだよ。(PCで完結するソフトウェア)
電気電子(製造業)や自動車(機械)に於いては電気電子/機械の知識が無いと話にならんだろ。
例のブランコは、
https://www.tamingdata.com/wp-content/uploads/2010/07/tree-swing-project-management-large.png
結局のところ、仕様が分からない奴同士で話を進めるからそうなるのであって、
仕様を決められる奴自身がプログラミングすれば解決するんだよ。
今のところプログラミングは文系馬鹿には難しすぎる、ってことでITドカタが担当しており、
仕様のすりあわせをもっと確実に、ってことになっているが、
そもそも発注元がプログラミング出来ればこんなことにはなりようも無いのさ。
(最大の問題は発注元が工数《どれくらい難しいか》を全く見積もれないこと。例:京都市)
だから小学生から全員にプログラミングを教え、これが成功した場合、この話はなくなる。
プログラミングを万人が出来る時代になろうとしているのさ。
だから情報系特化なら、常人の領域ではなく、達人になっていないとただのゴミだ。
「プログラミングが出来る」だけで食える時代ではなくなりつつある。ちゃんと認識しろ。
そしてソフトウェアインフラのほぼ全てをCが担当している現在の状況で、
C抜きで達人になれるはずも無いだろ。
情報系でPythonしか出来ません=おまえ=ゴミ確定だよ。
情報系の学生ならグダグダ言わずにCもやるしかないだろ。アホなのか?
逆に工学系で専門領域がPythonやMatlabで完結しているのならそれだけでいいが。
工学系にとってのプログラミングはあくまでもツールだからね。
同意
>>353
情報系の適所はITドカタだよ。(PCで完結するソフトウェア)
電気電子(製造業)や自動車(機械)に於いては電気電子/機械の知識が無いと話にならんだろ。
例のブランコは、
https://www.tamingdata.com/wp-content/uploads/2010/07/tree-swing-project-management-large.png
結局のところ、仕様が分からない奴同士で話を進めるからそうなるのであって、
仕様を決められる奴自身がプログラミングすれば解決するんだよ。
今のところプログラミングは文系馬鹿には難しすぎる、ってことでITドカタが担当しており、
仕様のすりあわせをもっと確実に、ってことになっているが、
そもそも発注元がプログラミング出来ればこんなことにはなりようも無いのさ。
(最大の問題は発注元が工数《どれくらい難しいか》を全く見積もれないこと。例:京都市)
だから小学生から全員にプログラミングを教え、これが成功した場合、この話はなくなる。
プログラミングを万人が出来る時代になろうとしているのさ。
だから情報系特化なら、常人の領域ではなく、達人になっていないとただのゴミだ。
「プログラミングが出来る」だけで食える時代ではなくなりつつある。ちゃんと認識しろ。
そしてソフトウェアインフラのほぼ全てをCが担当している現在の状況で、
C抜きで達人になれるはずも無いだろ。
情報系でPythonしか出来ません=おまえ=ゴミ確定だよ。
情報系の学生ならグダグダ言わずにCもやるしかないだろ。アホなのか?
逆に工学系で専門領域がPythonやMatlabで完結しているのならそれだけでいいが。
工学系にとってのプログラミングはあくまでもツールだからね。
364デフォルトの名無しさん (ワッチョイ 398a-Hx09)
2018/01/17(水) 22:59:39.60ID:X2mlxDcY0 DNS登録されてないようなURL貼って長文書かれても困るなぁ
365デフォルトの名無しさん (ワッチョイ 4af9-jyJf)
2018/01/17(水) 23:08:57.41ID:UVkqckbJ0 マ板でするような話を指摘されても延々と続けるような奴らが何を言おうと、まったく説得力がない。
366デフォルトの名無しさん (ワッチョイ 3d9f-0PCX)
2018/01/17(水) 23:57:02.39ID:TP+o0KtY0367デフォルトの名無しさん (ワッチョイ c5c3-Un2m)
2018/01/17(水) 23:59:37.26ID:6JDsl40f0 いい加減マ板に行け
368デフォルトの名無しさん (ワッチョイ c58a-68Hl)
2018/01/18(木) 00:25:48.70ID:zprwsW+f0 荒れてるな
それではネタでも投下してみるか
単純な制御プログラムのサンプルとして物理現象を連立微分方程式としてどの様にプログラムに落とし込むかを示してみる
実際は目標値に対して追従するように入力項を加えるのだけど面倒くさいので省略
制御プログラムのサンプルと言いながら実は中身は単純なシミュレーションだけど大体こんな感じ
>>348,349で微分方程式の解そのものを求める必要はないといった意味は分かると思う
https://ideone.com/Od1fxj
それではネタでも投下してみるか
単純な制御プログラムのサンプルとして物理現象を連立微分方程式としてどの様にプログラムに落とし込むかを示してみる
実際は目標値に対して追従するように入力項を加えるのだけど面倒くさいので省略
制御プログラムのサンプルと言いながら実は中身は単純なシミュレーションだけど大体こんな感じ
>>348,349で微分方程式の解そのものを求める必要はないといった意味は分かると思う
https://ideone.com/Od1fxj
369デフォルトの名無しさん
2018/01/18(木) 01:43:35.84 >>368
それで、質問は何?
それで、質問は何?
370デフォルトの名無しさん (ドコグロ MM13-3fO/)
2018/01/18(木) 06:56:48.15ID:r+5+UL4/M 微分方程式君がマウントしに来てるだけだからスルーしとけ
371デフォルトの名無しさん (ワッチョイ c58a-nVvH)
2018/01/18(木) 07:32:44.38ID:zprwsW+f0 工学系のプログラミングの一面を示しただけだよ
業務系そのものを否定する気はない
スレに粘着してる情報工学の学生の参考にどうぞ
組み込みのC言語プログラムの理解の助けにでもなればいい
業務系そのものを否定する気はない
スレに粘着してる情報工学の学生の参考にどうぞ
組み込みのC言語プログラムの理解の助けにでもなればいい
372デフォルトの名無しさん (ガックシ 068b-gKyl)
2018/01/18(木) 14:53:19.64ID:9519fNi86373デフォルトの名無しさん (ワッチョイ c58a-nVvH)
2018/01/18(木) 15:01:21.11ID:zprwsW+f0 情報工学の学生は>>340 だからな
正直言うと既に手遅れな感じはしてる
正直言うと既に手遅れな感じはしてる
374デフォルトの名無しさん (ワッチョイ 4dd0-Cxnk)
2018/01/18(木) 15:03:42.71ID:uBrEQRuR0 >>372
どうでもいいけど末尾6でガックシって大学内でのWi-Fi経由での書き込みやん
大学内Wi-Fiは監視されてるから2chに書き込まないほうがいいぞマジで
俺の大学は学籍番号登録して大学Wi-Fi繋ぐタイプだったがアプリとか落としまくってたらメールで呼び出しくらったわ
利用禁止だけで済んだけど
どうでもいいけど末尾6でガックシって大学内でのWi-Fi経由での書き込みやん
大学内Wi-Fiは監視されてるから2chに書き込まないほうがいいぞマジで
俺の大学は学籍番号登録して大学Wi-Fi繋ぐタイプだったがアプリとか落としまくってたらメールで呼び出しくらったわ
利用禁止だけで済んだけど
375デフォルトの名無しさん (ガックシ 068b-gKyl)
2018/01/18(木) 15:07:43.53ID:9519fNi86 >>374
で?俺の大学は違うけど。
で?俺の大学は違うけど。
376デフォルトの名無しさん (ワッチョイ c5d2-pQa0)
2018/01/18(木) 15:26:01.43ID:YGULX5FM0 【苫米地英人】 宇宙人の存在は明らか <世界教師 マイトLーヤ> ビリーバーって怖いわ 【上念司】
https://rosie.5ch.net/test/read.cgi/liveplus/1516240795/l50
https://rosie.5ch.net/test/read.cgi/liveplus/1516240795/l50
377デフォルトの名無しさん (ワッチョイ 0b81-QoPs)
2018/01/18(木) 15:41:05.21ID:gRlOykmi0 「オレの大学は2ちゃんねる使い放題だぜ」
378デフォルトの名無しさん (ガックシ 068b-gKyl)
2018/01/18(木) 15:41:43.77ID:9519fNi86 んで?
379デフォルトの名無しさん (スッップ Sd43-BuBX)
2018/01/18(木) 16:43:01.90ID:78cuYF2dd オレの大学は2チャンネルだぜ。
だろ。
だろ。
380デフォルトの名無しさん (ガックシ 068b-gKyl)
2018/01/18(木) 16:44:58.38ID:9519fNi86 どうやったらこんなつまんないレスを返せるんだよ...
重症やな w
重症やな w
381デフォルトの名無しさん (ワッチョイ 0b81-QoPs)
2018/01/18(木) 16:57:47.29ID:gRlOykmi0 大学当局が何の規制も監視もしていないことは自慢にはならないぞ
外部の違法サイトにも好き放題でアクセス出来てしまうって事は、
学内に不正侵入も招きかねない
学生の個人情報も流出しかねない大学だって言うことだろう
外部の違法サイトにも好き放題でアクセス出来てしまうって事は、
学内に不正侵入も招きかねない
学生の個人情報も流出しかねない大学だって言うことだろう
382デフォルトの名無しさん (ガックシ 068b-gKyl)
2018/01/18(木) 17:01:13.26ID:9519fNi86 ガクブル( ; ; )
383デフォルトの名無しさん (ワッチョイ f5ba-nLHG)
2018/01/18(木) 17:06:11.22ID:ORV/yXOS0 つーか、サーバーの立て方教えてないの?
384デフォルトの名無しさん (ワッチョイ 0bea-RHqN)
2018/01/18(木) 17:09:23.26ID:kX+VU8/R0 まだやってんのかよ(呆
385デフォルトの名無しさん (ワッチョイ 23e1-CRFn)
2018/01/18(木) 17:30:52.86ID:qV21U4ga0 スレ違いや板違いが100レス以上も続いてしまってるからそろそろこのスレ見るのを止める
386デフォルトの名無しさん
2018/01/18(木) 17:39:16.82 勝手にしろよワロタ
387デフォルトの名無しさん (ワッチョイ 239b-Q7o0)
2018/01/18(木) 18:35:59.35ID:/FcYukkO0 C言語勉強するにあたり相談です。
@スクールに通って学ぶ(170時間程度)
A3日間の会社主催のセミナー参加
B本、参考書等やネットで独学
Cその他
それぞれ理由とおすすめがあればお願いします!
@スクールに通って学ぶ(170時間程度)
A3日間の会社主催のセミナー参加
B本、参考書等やネットで独学
Cその他
それぞれ理由とおすすめがあればお願いします!
388デフォルトの名無しさん (JP 0He1-7Z6g)
2018/01/18(木) 18:40:49.12ID:4YZ5Kl1MH 既に何を知っているかによるのでは
389デフォルトの名無しさん (ワッチョイ 3d8a-ajZX)
2018/01/18(木) 18:47:28.75ID:Ly7/t+am0 なぁんも知らんのなら、富士通のお店に行け
390デフォルトの名無しさん (ドコグロ MM13-3fO/)
2018/01/18(木) 19:02:11.97ID:r+5+UL4/M391デフォルトの名無しさん (ワッチョイ 239b-Q7o0)
2018/01/18(木) 19:02:58.89ID:/FcYukkO0392デフォルトの名無しさん (ワッチョイ 239b-Q7o0)
2018/01/18(木) 19:07:27.01ID:/FcYukkO0393デフォルトの名無しさん (ドコグロ MM13-3fO/)
2018/01/18(木) 19:29:03.24ID:r+5+UL4/M >>392
会社の命令なら会社主催のセミナー行けよ
C言語の話以外にもその会社独自のやり方の説明もあるだろうし
それとは別に独学でも学びたいと言うならスクールでも本でもいいけど、なんか簡単なゲームでも作って色々ここで聞きまくるって言うのでいいんじゃね?
会社の命令なら会社主催のセミナー行けよ
C言語の話以外にもその会社独自のやり方の説明もあるだろうし
それとは別に独学でも学びたいと言うならスクールでも本でもいいけど、なんか簡単なゲームでも作って色々ここで聞きまくるって言うのでいいんじゃね?
394デフォルトの名無しさん (ワッチョイ 239b-Q7o0)
2018/01/18(木) 22:06:05.12ID:/FcYukkO0 いろいろとありがとうございました!
参考にさせてもらいます!
参考にさせてもらいます!
395デフォルトの名無しさん (ワッチョイ 559f-x16F)
2018/01/20(土) 11:31:34.12ID:bSTKludV0 Cのマクロでその場じゃないところに展開って出来ないかな?
VC++2008環境でVC++2017(C++11相当)のラムダを使いたいのだが、当然使えない。
そこで以下を参考にしてマクロで乗り切れないかと考えている。
http://koturn.hatenablog.com/entry/2013/08/06/223805
字句の置換は何とかなるとして、問題なのは「関数内関数定義」がない事。
だから手動でいいから関数の外側に展開させたい。具体的に言えば、以下。
void abssort(float* x, unsigned n) {
std::sort(x, x + n, [](float a, float b) {return (std::abs(a) < std::abs(b));});
}
を書き換えるとして、LAMBDAがマクロで、
// ここに出力する方法あるか?
void abssort(float* x, unsigned n) {
std::sort(x, x + n, LAMBDA(ホニャララ) );
}
// 或いはここでもいい
マクロ内で#defineしてプリプロセッサをもう一度くぐらせればいけそうな気がするが、これって無しだよな?
出力場所は手動、名前は手動マングリングで構わない。記述上ラムダを使いたい。
環境を上げるとしたらVS2017なので、そのときに書き換えがほぼ無しで済ませたいから。
delegateで書いてみたものの、やっぱり記述量が無駄に多いので、ラムダにしたい。
VC++2008環境でVC++2017(C++11相当)のラムダを使いたいのだが、当然使えない。
そこで以下を参考にしてマクロで乗り切れないかと考えている。
http://koturn.hatenablog.com/entry/2013/08/06/223805
字句の置換は何とかなるとして、問題なのは「関数内関数定義」がない事。
だから手動でいいから関数の外側に展開させたい。具体的に言えば、以下。
void abssort(float* x, unsigned n) {
std::sort(x, x + n, [](float a, float b) {return (std::abs(a) < std::abs(b));});
}
を書き換えるとして、LAMBDAがマクロで、
// ここに出力する方法あるか?
void abssort(float* x, unsigned n) {
std::sort(x, x + n, LAMBDA(ホニャララ) );
}
// 或いはここでもいい
マクロ内で#defineしてプリプロセッサをもう一度くぐらせればいけそうな気がするが、これって無しだよな?
出力場所は手動、名前は手動マングリングで構わない。記述上ラムダを使いたい。
環境を上げるとしたらVS2017なので、そのときに書き換えがほぼ無しで済ませたいから。
delegateで書いてみたものの、やっぱり記述量が無駄に多いので、ラムダにしたい。
396愛知人
2018/01/20(土) 12:29:33.07ID:+yb3sEoQ void abssortごと置き換える
C++詳しくないから知らんけど
C++詳しくないから知らんけど
397デフォルトの名無しさん (ワッチョイ 559f-x16F)
2018/01/20(土) 13:02:28.85ID:bSTKludV0 関連質問しました。
http://mevius.2ch.net/test/read.cgi/tech/1413180800/138
VSにユーザ定義プリプロセッサを噛ませられればいけるのだけど、
知っている人がいたらよろしく。
>>396
それは無理。
実際はLAMBDAは大量にバラバラに使ってる。
というかそういう使い方しないと大してメリットないし。以下とか。
viod function(){
if (xx) x = LAMBDA( xxxx );
else if (yy) y = yyyy;
else z = LAMBDA( zzzz );
}
http://mevius.2ch.net/test/read.cgi/tech/1413180800/138
VSにユーザ定義プリプロセッサを噛ませられればいけるのだけど、
知っている人がいたらよろしく。
>>396
それは無理。
実際はLAMBDAは大量にバラバラに使ってる。
というかそういう使い方しないと大してメリットないし。以下とか。
viod function(){
if (xx) x = LAMBDA( xxxx );
else if (yy) y = yyyy;
else z = LAMBDA( zzzz );
}
398デフォルトの名無しさん (ササクッテロル Spb1-u0QZ)
2018/01/20(土) 16:38:28.43ID:Td0v3CJep 今使ってコンパイラがweakって宣言子があって、どうやらデフォルトの関数処理を書いておいて、後から同じ名前の関数でそのまま飛び先を上書いてくれる機能があるなぁ
399デフォルトの名無しさん (アウアウウー Sad9-GP+B)
2018/01/20(土) 21:36:35.14ID:wOR0yLWUa400デフォルトの名無しさん (ワッチョイ 559f-x16F)
2018/01/20(土) 23:52:23.46ID:bSTKludV0 >>395
自己解決しました。
結局自前のスクリプトを作成したので、エレガントではありませんが。
知恵を絞ってくれた人はありがとう。
http://mevius.2ch.net/test/read.cgi/tech/1413180800/150
自己解決しました。
結局自前のスクリプトを作成したので、エレガントではありませんが。
知恵を絞ってくれた人はありがとう。
http://mevius.2ch.net/test/read.cgi/tech/1413180800/150
401デフォルトの名無しさん (アウアウカー Sa21-/TBa)
2018/01/21(日) 22:52:16.22ID:002zr5vva こんばんは
はじめて書き込みします。
入門書としてやさしいCをやり終えたのですが、今後やっていった方がいい本はどんなのがありますか?
はじめて書き込みします。
入門書としてやさしいCをやり終えたのですが、今後やっていった方がいい本はどんなのがありますか?
402デフォルトの名無しさん (ワッチョイ f5bb-nLHG)
2018/01/21(日) 22:55:33.96ID:uqlpy0wi0 今、何が出来るのか
これから、何がしたいのか
↑
による
これから、何がしたいのか
↑
による
403愛知人
2018/01/21(日) 22:55:40.90ID:TYCBS/Jo K&R
404デフォルトの名無しさん (ワッチョイ f5bb-nLHG)
2018/01/21(日) 22:57:28.52ID:uqlpy0wi0 K&Rの役割を他の本で代替したあとの話だな
405愛知人
2018/01/21(日) 22:59:34.82ID:TYCBS/Jo Cって何のためにやるの?組み込みしかなくね?そんなの極める必要ある?
C++やろうぜ
C++やろうぜ
407愛知人
2018/01/21(日) 23:05:45.96ID:TYCBS/Jo じゃあC++やろうぜ
って言ってるけどな
って言ってるけどな
408愛知人
2018/01/21(日) 23:06:44.66ID:TYCBS/Jo >>401
C++やろうぜ
C++やろうぜ
409デフォルトの名無しさん (アウアウカー Sa21-/TBa)
2018/01/21(日) 23:07:08.18ID:9sfTI4Pla410愛知人
2018/01/21(日) 23:09:24.66ID:TYCBS/Jo ダイレクトエックス?テン?か知らないけどそれの本は?
411デフォルトの名無しさん (アウアウカー Sa21-/TBa)
2018/01/21(日) 23:13:00.05ID:9sfTI4Pla >>410
探してるんですけど、なかなか本やにないので
探してるんですけど、なかなか本やにないので
412デフォルトの名無しさん (ワッチョイ 85c3-iX8K)
2018/01/21(日) 23:19:00.70ID:oGuWm1pn0 ますますよく分からんが
少なくとも「その前に」ってレベルじゃねぇ
少なくとも「その前に」ってレベルじゃねぇ
413デフォルトの名無しさん (アウアウカー Sa21-/TBa)
2018/01/21(日) 23:37:23.07ID:WHQpxhYLa >>412
自作ゲームを作るのが目的で、自分の性分として元祖からやっていきたいと思って、、、、
ファミコンの実機はパソコンx86とDirectXで作ったとかなんとか、、、、
要領が小さい横スクロールアクション(ロックマンの亜種)を作ってみたいのです。
自作ゲームを作るのが目的で、自分の性分として元祖からやっていきたいと思って、、、、
ファミコンの実機はパソコンx86とDirectXで作ったとかなんとか、、、、
要領が小さい横スクロールアクション(ロックマンの亜種)を作ってみたいのです。
414デフォルトの名無しさん (ワッチョイ 759f-HMlX)
2018/01/21(日) 23:38:09.13ID:I2+B/hhs0 うーん。K&Rを知らないか・・・
415デフォルトの名無しさん (ワッチョイ 3d8a-OBdR)
2018/01/21(日) 23:49:01.75ID:hGg1UGRI0416デフォルトの名無しさん (ワッチョイ c58a-68Hl)
2018/01/21(日) 23:51:41.82ID:KmWcS8tF0 >>413
>ファミコンの実機はパソコンx86とDirectXで作ったとかなんとか、、、、
何処からそんなデマを聞いたんだ?
ファミコン実機の中身はx86どころか8bitCPU(6502ベースのカスタム品)だということ知ってる?
>ファミコンの実機はパソコンx86とDirectXで作ったとかなんとか、、、、
何処からそんなデマを聞いたんだ?
ファミコン実機の中身はx86どころか8bitCPU(6502ベースのカスタム品)だということ知ってる?
417デフォルトの名無しさん (ワッチョイ 759f-GP+B)
2018/01/21(日) 23:52:37.13ID:I2+B/hhs0418デフォルトの名無しさん (ワッチョイ f5bb-nLHG)
2018/01/21(日) 23:53:43.48ID:uqlpy0wi0419デフォルトの名無しさん (アウアウカー Sa21-/TBa)
2018/01/22(月) 00:08:27.82ID:o5sZqJ+pa >>416
Vipでゲーム機の進化の話があ出たときに、スーファミの開発環境がDirectXだって書いてあった
Vipでゲーム機の進化の話があ出たときに、スーファミの開発環境がDirectXだって書いてあった
420デフォルトの名無しさん (ワッチョイ c58a-68Hl)
2018/01/22(月) 00:23:02.56ID:FvAm1M5e0 >>419
DirectXはその前身のGame SDKでさえWin95(1995年)と同時期にリリースされてる
スーパーファミコンの登場はそれより前のWin3.1(1992年)すら登場していない時期
まだMS-DOSの全盛期だよ、タイミング的に有り得ない
DirectXはその前身のGame SDKでさえWin95(1995年)と同時期にリリースされてる
スーパーファミコンの登場はそれより前のWin3.1(1992年)すら登場していない時期
まだMS-DOSの全盛期だよ、タイミング的に有り得ない
421デフォルトの名無しさん (アウアウカー Sa21-/TBa)
2018/01/22(月) 00:42:19.17ID:o5sZqJ+pa422デフォルトの名無しさん (アウアウエー Sa93-JCrA)
2018/01/22(月) 06:53:09.36ID:1d4s07YIa 木屋さん元気かな
423デフォルトの名無しさん (アウアウウー Sad9-vZoh)
2018/01/23(火) 09:06:26.50ID:oQb/6sLaa >>152
遅くなったが、なかなか難しいがその難しさ含めアイデア次第でとても面白いな!
ツイやらインスタみたいのがもてはやされとるけどやっぱこういう反リアルタイムで半匿名性保持したものって必要なんだと思うし、2hは仰るとおりこのまま行くと5年後10年後にはホントの過疎化で存続危ういし、今からテコ入れして人の誘導図るのは大賛成!
よし、俺もC本気出してやるかw
遅くなったが、なかなか難しいがその難しさ含めアイデア次第でとても面白いな!
ツイやらインスタみたいのがもてはやされとるけどやっぱこういう反リアルタイムで半匿名性保持したものって必要なんだと思うし、2hは仰るとおりこのまま行くと5年後10年後にはホントの過疎化で存続危ういし、今からテコ入れして人の誘導図るのは大賛成!
よし、俺もC本気出してやるかw
424デフォルトの名無しさん (アウアウウー Sad9-vZoh)
2018/01/23(火) 09:07:59.18ID:oQb/6sLaa おまいらやっぱり電卓も早いの?
425デフォルトの名無しさん (ワッチョイ c58a-68Hl)
2018/01/23(火) 09:34:15.34ID:K+ggfGT70 電卓が早い、とは一体なんのこっちゃ
426デフォルトの名無しさん (ササクッテロル Spb1-u0QZ)
2018/01/23(火) 10:39:49.81ID:tgopM6GQp 挿入から射精までなら素早いぞ。
427デフォルトの名無しさん (ワッチョイ 8b2b-pQa0)
2018/01/23(火) 22:14:31.29ID:ksGxN6tV0 https://ideone.com/Jhbm7n
グラムシュミット計算して結果をそのまま出力するって課題が出て、一応出来はしたんだけど出力で変になったんだ
リンク先に書いてる奴が正しい出力で、最後のコメントみたいにすると違う結果が出てくる
具体的に言えばcmdで
「 f3 1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 1.000」ってやると
「 1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 1.000」が出力される(リンク先はコレ)はずなんだが
コメント通りにすると
「1.000 1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000」になっちゃう
環境はVSCodeでコンパイラはVS2017のcl
グラムシュミット計算して結果をそのまま出力するって課題が出て、一応出来はしたんだけど出力で変になったんだ
リンク先に書いてる奴が正しい出力で、最後のコメントみたいにすると違う結果が出てくる
具体的に言えばcmdで
「 f3 1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 1.000」ってやると
「 1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 1.000」が出力される(リンク先はコレ)はずなんだが
コメント通りにすると
「1.000 1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000」になっちゃう
環境はVSCodeでコンパイラはVS2017のcl
428片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd43-FVlE)
2018/01/23(火) 22:50:42.81ID:vdlPoDuDd >>427
Cは複数の値を返却値として返すことはできない。関数の引数リスト以外で、カンマを書くとカンマ演算子として解釈される。
Cは複数の値を返却値として返すことはできない。関数の引数リスト以外で、カンマを書くとカンマ演算子として解釈される。
429デフォルトの名無しさん (ワッチョイ 3d8a-ajZX)
2018/01/23(火) 22:51:42.86ID:tTVD5Gwd0 len_u3の値は?
430デフォルトの名無しさん (ワッチョイ 8b2b-pQa0)
2018/01/24(水) 08:13:51.80ID:DWaVEiCq0431デフォルトの名無しさん
2018/01/24(水) 08:36:54.65 >>427
見た感じ、エンディアン問題っぽい
見た感じ、エンディアン問題っぽい
432デフォルトの名無しさん (ワッチョイ 35a8-u0QZ)
2018/01/24(水) 09:37:36.28ID:9sUL+M6u0 >>428
構造体を型宣言して戻り値にすれば、複数の値を実体返し出来るけどね。
構造体を型宣言して戻り値にすれば、複数の値を実体返し出来るけどね。
433デフォルトの名無しさん (ワッチョイ 3d8a-68Hl)
2018/01/24(水) 09:51:46.57ID:aKjSawsU0 結局、質問者は問題点が何処にあるか理解できたのかな?
カンマ演算子の評価結果は、最後の式の評価結果だからね
余計なお世話かも知れないけど、どうしても結果を戻り値で返したい場合は構造体に纏めれば出来るよ
というか、ベクトル自体を配列ではなくて構造体に纏めた方がプログラムの見通しがすっきりすると思う
カンマ演算子の評価結果は、最後の式の評価結果だからね
余計なお世話かも知れないけど、どうしても結果を戻り値で返したい場合は構造体に纏めれば出来るよ
というか、ベクトル自体を配列ではなくて構造体に纏めた方がプログラムの見通しがすっきりすると思う
434デフォルトの名無しさん (ワッチョイ 3d8a-68Hl)
2018/01/24(水) 09:52:11.69ID:aKjSawsU0 被った、ごめん
435デフォルトの名無しさん (アウアウエー Sa93-JCrA)
2018/01/24(水) 14:24:18.70ID:vECYoCmia 皮
436デフォルトの名無しさん (ワッチョイ 3d8a-68Hl)
2018/01/24(水) 17:11:55.26ID:aKjSawsU0 もう駄目だ
>>427のコードを構造体に纏めて書き換えてみたけど、ideoneのコマンドライン入力がどうやってもエラーを吐く
もう諦めたのでテストデータ埋め込みでコードを晒す(数学的には意味のないテストデータだけど)
誰か原因分かる人確認お願いします
手元のVC++2017ではコマンドライン入力でも正常動作することは確認してる
https://ideone.com/IEGKl0
>>427のコードを構造体に纏めて書き換えてみたけど、ideoneのコマンドライン入力がどうやってもエラーを吐く
もう諦めたのでテストデータ埋め込みでコードを晒す(数学的には意味のないテストデータだけど)
誰か原因分かる人確認お願いします
手元のVC++2017ではコマンドライン入力でも正常動作することは確認してる
https://ideone.com/IEGKl0
437デフォルトの名無しさん (ワッチョイ 3d8a-68Hl)
2018/01/24(水) 17:21:25.19ID:aKjSawsU0 もしかして勘違いしてた?
ideoneの標準入力stdinってプログラム実行開始前のコマンドライン入力としては使えないのか?
もうどうでもいいけど…
ideoneの標準入力stdinってプログラム実行開始前のコマンドライン入力としては使えないのか?
もうどうでもいいけど…
438デフォルトの名無しさん (ワッチョイ 0bea-RHqN)
2018/01/24(水) 17:25:37.49ID:cUo2YGui0 fscanf(stdin,...) とかの 入力ストリームにこれを与えるってだけ
実行時引数を渡すしくみはなかったような
実行時引数を渡すしくみはなかったような
439デフォルトの名無しさん (ワッチョイ 3d8a-68Hl)
2018/01/24(水) 17:30:33.41ID:aKjSawsU0 やっぱりそうかー
無駄な時間を使ったわー
無駄な時間を使ったわー
440デフォルトの名無しさん (ワッチョイ 559f-x16F)
2018/01/24(水) 19:49:04.30ID:5oCpuwxD0 >>436
ちなみに初心者だよな?
だとすると、一般的にはCでは構造体の値渡しは(特に理由がある場合以外は)しないので、
ポインタ渡しで書くことに慣れた方がいい。 . はほぼ使わず、 -> ばかりになる。
具体的に言うと、
void gram_schmidt(BASIC3* bas, VECT3* v_1, VECT3* v_2, VECT3* v_3);
として、
BASIS3 bas;
gram_schmidt(&bas, &v_1, &v_2, &v_3);
とする。
値渡しする場合の理由だが、通常は、以下のどちらか。
・中で一時期的に書き換えるため、どうせコピーが必要。
・中で何度も使う場合、値渡しの方が速い場合がある。
値渡しはスタック上に置かれるためイミディエートオフセット命令が出る。(Read1回でデータを読み込める)
ポインタ渡しは間接参照になるため、アクセス速度が少し遅い。(2回Readが必要)
ただし値渡しは呼ぶ際と戻る際に構造体の中身を全コピーするので、それとの兼ね合いになる。
単純には、値渡しはコピーが2回発生するのだから、確実に速くなるとしたら3回以上使う場合で、
逆に言えば、2回以下のときはポインタ渡しにしておけ、となる。だから大体ポインタ渡しになる。
個人的には、このくらい自動で最適化してくれとも思うが、
Cは「書いたように動かせ、余分なことはするな」の文化だから、手動で切り替える方が好まれているのだろう。
(C++の場合はコピーコンストラクタが動くことになっているので、自動で切り替えたら違反になり、出来ないはず。)
ちなみに初心者だよな?
だとすると、一般的にはCでは構造体の値渡しは(特に理由がある場合以外は)しないので、
ポインタ渡しで書くことに慣れた方がいい。 . はほぼ使わず、 -> ばかりになる。
具体的に言うと、
void gram_schmidt(BASIC3* bas, VECT3* v_1, VECT3* v_2, VECT3* v_3);
として、
BASIS3 bas;
gram_schmidt(&bas, &v_1, &v_2, &v_3);
とする。
値渡しする場合の理由だが、通常は、以下のどちらか。
・中で一時期的に書き換えるため、どうせコピーが必要。
・中で何度も使う場合、値渡しの方が速い場合がある。
値渡しはスタック上に置かれるためイミディエートオフセット命令が出る。(Read1回でデータを読み込める)
ポインタ渡しは間接参照になるため、アクセス速度が少し遅い。(2回Readが必要)
ただし値渡しは呼ぶ際と戻る際に構造体の中身を全コピーするので、それとの兼ね合いになる。
単純には、値渡しはコピーが2回発生するのだから、確実に速くなるとしたら3回以上使う場合で、
逆に言えば、2回以下のときはポインタ渡しにしておけ、となる。だから大体ポインタ渡しになる。
個人的には、このくらい自動で最適化してくれとも思うが、
Cは「書いたように動かせ、余分なことはするな」の文化だから、手動で切り替える方が好まれているのだろう。
(C++の場合はコピーコンストラクタが動くことになっているので、自動で切り替えたら違反になり、出来ないはず。)
441デフォルトの名無しさん (ワッチョイ 3d8a-68Hl)
2018/01/24(水) 20:17:50.04ID:aKjSawsU0 >>440
うーん、まあそうなんだけどね
今回はそんなに大きなデータでも無いので手抜きしてる
元々のコードは次元もパラメータとして持っていたので、基底空間の構造体そのものをベクトル構造体のリスト構造で構成するのが正解なんだろうね
ポインタでベクトル構造体を引き渡すことになるとは思う
ただそこまでやるのが面倒くさかったので、3次元ベクトル空間に限定して無理やりデータを小さくまとめてしまってる
この程度なら値渡しでもいいかと手抜きしてるのが裏事情、ぶっちゃっけて言うとまともに実装するのが面倒臭かった
まあ、あんまり細かいこと突っつかないで><
うーん、まあそうなんだけどね
今回はそんなに大きなデータでも無いので手抜きしてる
元々のコードは次元もパラメータとして持っていたので、基底空間の構造体そのものをベクトル構造体のリスト構造で構成するのが正解なんだろうね
ポインタでベクトル構造体を引き渡すことになるとは思う
ただそこまでやるのが面倒くさかったので、3次元ベクトル空間に限定して無理やりデータを小さくまとめてしまってる
この程度なら値渡しでもいいかと手抜きしてるのが裏事情、ぶっちゃっけて言うとまともに実装するのが面倒臭かった
まあ、あんまり細かいこと突っつかないで><
442デフォルトの名無しさん (ワッチョイ 559f-x16F)
2018/01/24(水) 20:58:24.14ID:5oCpuwxD0 >>441
やれば分かるが、そんなに記述量は変わらないぞ。
. が -> に変わるのが大半で、それ以外はほぼそのままで済むはず。
主に計算用途で、Python -> Cを目指しているのか?
だとしたら速い書き方が出来ないと意味無いだろ。
そして、ベクトルの値渡しとかスタックを余計に食う=再帰したら悲惨なことになるから止めとけ。
->の表記が気に入らないのなら、C++の「参照」を使えば . のままでも書ける。
この場合は、ソース自体の書き換えは呼び出し部分だけで済む。
(ただし、非const参照は推奨されていない場合もある。例:googleのコーディングルール)
やれば分かるが、そんなに記述量は変わらないぞ。
. が -> に変わるのが大半で、それ以外はほぼそのままで済むはず。
主に計算用途で、Python -> Cを目指しているのか?
だとしたら速い書き方が出来ないと意味無いだろ。
そして、ベクトルの値渡しとかスタックを余計に食う=再帰したら悲惨なことになるから止めとけ。
->の表記が気に入らないのなら、C++の「参照」を使えば . のままでも書ける。
この場合は、ソース自体の書き換えは呼び出し部分だけで済む。
(ただし、非const参照は推奨されていない場合もある。例:googleのコーディングルール)
443デフォルトの名無しさん (ワッチョイ 3d8a-68Hl)
2018/01/24(水) 21:18:35.41ID:aKjSawsU0 >>442
このスレには珍しく数学的な背景に詳しそうだな
ちょっと聞きたいけど、基底空間の拡張そのものはベクトル構造体をリスト化すれば簡単なんだけど、ベクトルの要素の拡張で簡単な方法ないかな?
実は最初にそれを考えたんだけど要素もリスト化するとポインタの連鎖が大変なことになりそうで、躊躇した結果がVECT3やBASIS3などの次元決め打ちになってしまってる
あとは演算部も際限なく項が増えていくので再起でも使わなければとても実装できそうもない
これもポインタの実装が大変なことになるのが容易に想像できる
参考までに先のコードを拡張するにあたって何か良さそうなアイディアないかな
このスレには珍しく数学的な背景に詳しそうだな
ちょっと聞きたいけど、基底空間の拡張そのものはベクトル構造体をリスト化すれば簡単なんだけど、ベクトルの要素の拡張で簡単な方法ないかな?
実は最初にそれを考えたんだけど要素もリスト化するとポインタの連鎖が大変なことになりそうで、躊躇した結果がVECT3やBASIS3などの次元決め打ちになってしまってる
あとは演算部も際限なく項が増えていくので再起でも使わなければとても実装できそうもない
これもポインタの実装が大変なことになるのが容易に想像できる
参考までに先のコードを拡張するにあたって何か良さそうなアイディアないかな
444デフォルトの名無しさん (ワッチョイ 559f-x16F)
2018/01/24(水) 21:52:33.93ID:5oCpuwxD0 >>443
いや俺は多分君よりは詳しくないが。
ただ、君はだいぶ勘違いしてると思うぞ。
1. まず、値渡しをポインタ渡しにしたところで、記述量は大して変わらない。
これはやってみれば分かるし、どのみち通る道だろうからやっとけ。
大変なことになんてならない。
2. 次に、Cのポインタは配列のサイズは気にしてない。
だからベクトル要素の拡張とか、最初から気にする必要が無い。
強いてコツを言うなら、ド頭を「長さ」にして、データは末尾にしとけ、という程度。
(大体これで上手くいく)
typedef struct {
int num;
// int elemSize;
double* elems;
} VECTX;
typedef struct {
int num;
// int elemSize;
VECTX* vectors;
} BASISX;
多分これで全て事足りる。
混乱するようなら num を dim(ension) なり rank 等に変えてもいいが、
ダックタイプ的に手抜きする気なら num に統一してついでに int elemSize も構造体に入れとけ。
そしたらコピー等は同じ関数が使えるようになる。
(void*にキャストしてmemcpyするにしてもサイズが無いと無理。
Cには実行時型情報(RTTI)が無いから、必要なら自前で用意するしかない)
或いは、VECTXとBASISXを分けずに、どちらもvoid*にキャストして1種類の構造体で扱ってもいい。
いや俺は多分君よりは詳しくないが。
ただ、君はだいぶ勘違いしてると思うぞ。
1. まず、値渡しをポインタ渡しにしたところで、記述量は大して変わらない。
これはやってみれば分かるし、どのみち通る道だろうからやっとけ。
大変なことになんてならない。
2. 次に、Cのポインタは配列のサイズは気にしてない。
だからベクトル要素の拡張とか、最初から気にする必要が無い。
強いてコツを言うなら、ド頭を「長さ」にして、データは末尾にしとけ、という程度。
(大体これで上手くいく)
typedef struct {
int num;
// int elemSize;
double* elems;
} VECTX;
typedef struct {
int num;
// int elemSize;
VECTX* vectors;
} BASISX;
多分これで全て事足りる。
混乱するようなら num を dim(ension) なり rank 等に変えてもいいが、
ダックタイプ的に手抜きする気なら num に統一してついでに int elemSize も構造体に入れとけ。
そしたらコピー等は同じ関数が使えるようになる。
(void*にキャストしてmemcpyするにしてもサイズが無いと無理。
Cには実行時型情報(RTTI)が無いから、必要なら自前で用意するしかない)
或いは、VECTXとBASISXを分けずに、どちらもvoid*にキャストして1種類の構造体で扱ってもいい。
445デフォルトの名無しさん (ササクッテロル Spb1-u0QZ)
2018/01/24(水) 22:24:53.83ID:VHi7KMpxp 構造体返しなんか、知らないうちに使ってるんだから気にするな。
君が返り値に指定したその型が実は構造体だったなんて誰も気にしてないから。
君が返り値に指定したその型が実は構造体だったなんて誰も気にしてないから。
446デフォルトの名無しさん (ワッチョイ 0b81-QoPs)
2018/01/24(水) 22:34:36.62ID:NLoTtXwc0 ファイル操作しているなら、
FILE構造体のお世話になっているはず
この構造体の中身を一度見てみると良いよ
FILE構造体のお世話になっているはず
この構造体の中身を一度見てみると良いよ
でも FILE 構造体を構造体返しや構造体渡しにはしないからなあ…
448デフォルトの名無しさん (スップ Sd43-BuBX)
2018/01/24(水) 23:07:36.68ID:78SslThOd fopen()のfpは誰の懐を指してるんだろう…
449デフォルトの名無しさん (アウアウエー Saf2-oJ1J)
2018/01/25(木) 02:11:06.70ID:KWt8t+zYa おまいら寄り道多過ぎΩ
早く本当のことを教えたれ
早く本当のことを教えたれ
450デフォルトの名無しさん
2018/01/25(木) 07:41:16.00 構造体返しやら構造体渡しやらを使ってる標準ライブラリ関数なんかあらへんやろ
451デフォルトの名無しさん (ブーイモ MM97-EQ2j)
2018/01/25(木) 07:57:34.46ID:H7d70bA2M 構造体渡しはスタック汚すからなあ
452デフォルトの名無しさん (ワッチョイ aeea-MCTD)
2018/01/25(木) 08:27:14.49ID:Wqza6sKp0 K&Rでも初期のほう
構造体の値渡し/構造体の値戻しは出来なかったわけで
標準関数に盛り込まれることはなかったんじゃなかろうかと
構造体の値渡し/構造体の値戻しは出来なかったわけで
標準関数に盛り込まれることはなかったんじゃなかろうかと
453デフォルトの名無しさん (ワッチョイ c78a-FYQJ)
2018/01/25(木) 08:40:26.67ID:8P15F8nd0 socket うんそうだね
454デフォルトの名無しさん (ササクッテロル Spab-JKdO)
2018/01/25(木) 10:31:04.17ID:SJLkFufqp いや、コンパイラの吐くコードがアホだったから解放したスタックから値をコピーする事になっちまってただけだ。
割り込み専用スタックが無いアーキテクトマシンはそこで死んだ。
割り込み専用スタックが無いアーキテクトマシンはそこで死んだ。
455デフォルトの名無しさん (ワッチョイ 5323-oJ1J)
2018/01/25(木) 11:46:50.00ID:ZxAe+MwB0 >>448
mallocじゃね
mallocじゃね
456デフォルトの名無しさん (ワッチョイ 9e23-Pdni)
2018/01/25(木) 12:45:13.85ID:roA8poOQ0 >>456
由緒正しきバークレーソケットに構造体渡し・構造体返しがあるわけがない、常識的に
由緒正しきバークレーソケットに構造体渡し・構造体返しがあるわけがない、常識的に
458デフォルトの名無しさん (ワッチョイ 5323-oJ1J)
2018/01/25(木) 13:24:05.92ID:ZxAe+MwB0 返り血の話してるのになんで引数持ち出すかなぁ
459デフォルトの名無しさん (ワッチョイ ea96-4xH4)
2018/01/25(木) 15:57:29.77ID:O5EWej8a0 返り血の話はチャンバラスレでやってくれ
460デフォルトの名無しさん (ワントンキン MMaa-FYQJ)
2018/01/25(木) 16:44:30.46ID:ID0HK2lBM 旧K&Rにないからな
461デフォルトの名無しさん (ワッチョイ 539f-fPTX)
2018/01/25(木) 23:05:29.63ID:BSIOcXgH0 構造体の値渡しについては440に書いたとおりだが、
構造体の値返しは通常はあり得ないだろ。
理由は何らメリットがないから。
構造体の値返しは通常はあり得ないだろ。
理由は何らメリットがないから。
462デフォルトの名無しさん (ワッチョイ e39f-rgA5)
2018/01/25(木) 23:50:39.80ID:MvglAbIb0 ないな。呼ぶ側で何らかの方法で領域確保してそのポインタを渡せばいいし。
まあ物凄く良い感じで最適化されて無駄がなくなるならあってもいいが。
まあ物凄く良い感じで最適化されて無駄がなくなるならあってもいいが。
463デフォルトの名無しさん (アウアウウー Sa77-fQjY)
2018/01/26(金) 00:42:46.48ID:d5sN0H9Ta >>443
よほど高次元を扱わない限り決め打ちコピペ、マクロ、キャストを駆使する方法とかある
変態仕様だから俺はおすすめしない
typedef struct {
int element_sz;
int elements[2];
} VEC2;
typedef struct {
int element_sz;
int elements[3];
} VEC3;
#define INIT_VEC(name, size) \
VEC##dim name = {.elements_sz = size}
よほど高次元を扱わない限り決め打ちコピペ、マクロ、キャストを駆使する方法とかある
変態仕様だから俺はおすすめしない
typedef struct {
int element_sz;
int elements[2];
} VEC2;
typedef struct {
int element_sz;
int elements[3];
} VEC3;
#define INIT_VEC(name, size) \
VEC##dim name = {.elements_sz = size}
464デフォルトの名無しさん (ワッチョイ 539f-fPTX)
2018/01/26(金) 00:48:01.29ID:KrxIIzDl0 >>462
それ、ちょっと考えたんだけどさ、無理矢理1行に書けばいいだけなんだよね。
BASIS3 bas;
gram_schmidt(&bas, &v_1, &v_2, &v_3); // (A)
BASIS3 bas = gram_schmidt(&v_1, &v_2, &v_3); // (B)
BASIS3 bas; gram_schmidt(&bas, &v_1, &v_2, &v_3); // (C)
(A)が一般方式だ。
(B)が宣言的な記述で、関数型()な奴らが「美しい」と主張する書き方だ。
とはいえ俺も(A)よりは(B)の方がいいと思ってはいるんだが、
それなら(C)って書けばいいだけなんだよな。
あまり一般的ではないけど、確保&初期化に関してはありかなと思えてきてる。
実はマクロで(B)を(A)に変更することを考えていたのだけど、
そんなことやるなら(C)でいいじゃんってね。
コンパイラが(B)を(A)相当にするのも簡単だとは思うんだけど、(C++のクラスがこれだし)
(C)が出来るんだからこれでいいじゃん、で終わりだよなと。
basを2回書かないといけないのは何とかならんのか、というのはあるが。
それ、ちょっと考えたんだけどさ、無理矢理1行に書けばいいだけなんだよね。
BASIS3 bas;
gram_schmidt(&bas, &v_1, &v_2, &v_3); // (A)
BASIS3 bas = gram_schmidt(&v_1, &v_2, &v_3); // (B)
BASIS3 bas; gram_schmidt(&bas, &v_1, &v_2, &v_3); // (C)
(A)が一般方式だ。
(B)が宣言的な記述で、関数型()な奴らが「美しい」と主張する書き方だ。
とはいえ俺も(A)よりは(B)の方がいいと思ってはいるんだが、
それなら(C)って書けばいいだけなんだよな。
あまり一般的ではないけど、確保&初期化に関してはありかなと思えてきてる。
実はマクロで(B)を(A)に変更することを考えていたのだけど、
そんなことやるなら(C)でいいじゃんってね。
コンパイラが(B)を(A)相当にするのも簡単だとは思うんだけど、(C++のクラスがこれだし)
(C)が出来るんだからこれでいいじゃん、で終わりだよなと。
basを2回書かないといけないのは何とかならんのか、というのはあるが。
465デフォルトの名無しさん (ワッチョイ 539f-fPTX)
2018/01/26(金) 01:18:33.62ID:KrxIIzDl0 >>463
ちなみにそれはちょっと違う。決め打ちにするのであれば、以下の方がいい。
typedef struct {
double x;
double y;
} Vec2;
typedef struct {
double x;
double y;
double z;
} Vec3;
決め打ちのメリットは、
・分かりやすい名前を使える
・型チェックが有効になる
ことだから。
上はそのままだから分かるだろ。下は、例えば内積計算関数が、
3次元*2次元とかの違法の場合に書きようがなく、コンパイル以前にIntellisenseで落とせる事。
elementsが配列になっていると、当然ループになり、3次元*2次元でも書けてしまう。
ただし決め打ちの場合はその後のコンパイラの型チェックで落とされるが。
VecXとして一般化した場合は、この辺が全部通ってしまうわけでね。
ただまあ、C言語は、コンパイラにバグ取りを手伝ってもらう言語ではなく、
そもそもおめーがバグなく書きゃいいだけだろ、というノリなんだが。
ちなみにそれはちょっと違う。決め打ちにするのであれば、以下の方がいい。
typedef struct {
double x;
double y;
} Vec2;
typedef struct {
double x;
double y;
double z;
} Vec3;
決め打ちのメリットは、
・分かりやすい名前を使える
・型チェックが有効になる
ことだから。
上はそのままだから分かるだろ。下は、例えば内積計算関数が、
3次元*2次元とかの違法の場合に書きようがなく、コンパイル以前にIntellisenseで落とせる事。
elementsが配列になっていると、当然ループになり、3次元*2次元でも書けてしまう。
ただし決め打ちの場合はその後のコンパイラの型チェックで落とされるが。
VecXとして一般化した場合は、この辺が全部通ってしまうわけでね。
ただまあ、C言語は、コンパイラにバグ取りを手伝ってもらう言語ではなく、
そもそもおめーがバグなく書きゃいいだけだろ、というノリなんだが。
466デフォルトの名無しさん (ブーイモ MMda-EQ2j)
2018/01/26(金) 01:37:49.07ID:aTHTXGTcM467デフォルトの名無しさん (ワッチョイ 539f-fPTX)
2018/01/26(金) 01:46:48.74ID:KrxIIzDl0468デフォルトの名無しさん (ブーイモ MMda-EQ2j)
2018/01/26(金) 01:56:56.10ID:aTHTXGTcM469デフォルトの名無しさん (ブーイモ MMda-EQ2j)
2018/01/26(金) 01:59:16.78ID:aTHTXGTcM470デフォルトの名無しさん (ワッチョイ 539f-fPTX)
2018/01/26(金) 02:06:14.02ID:KrxIIzDl0 >>469
typedef double[3] VEC3;
で VEC3をvoid*にキャストするのは止めた方がいい。使い物にならないから。
void*で一般化するには何にしてもサイズが必要だから。
サイズ無しで型を一般化したいのなら素直にテンプレート使っとけ。
typedef double[3] VEC3;
で VEC3をvoid*にキャストするのは止めた方がいい。使い物にならないから。
void*で一般化するには何にしてもサイズが必要だから。
サイズ無しで型を一般化したいのなら素直にテンプレート使っとけ。
471デフォルトの名無しさん (ブーイモ MMda-EQ2j)
2018/01/26(金) 02:13:45.05ID:aTHTXGTcM472デフォルトの名無しさん (ワッチョイ 539f-fPTX)
2018/01/26(金) 02:35:47.82ID:KrxIIzDl0 >>471
それは使い勝手の問題だが、
VEC3 v0 = {1,2,3};
VEC3 v2;
v2[0] = 1; // 添字で指定
と
Vec3 v0 = {1,2,3};
Vec3 v1 = {.x=1,.y=2,.z=3}; // 名前が付いているからこれも出来る
Vec3 v2;
v2.x = 1; // 名前で指定
とどっちが見やすいかと聞かれたら、普通は後者と答えるだろ。
個別にした場合はループが回せないが、
2次元と3次元の決め打ちだけで済むならいらんだろ、ってことだよ。
(どうしてもループ回したければ double* p = &v1.x; で行けるし)
ただまあここら辺は外野の俺らが言い合っても意味がない。
使用者が決めればいいだけ。好みの範疇だからね。
それは使い勝手の問題だが、
VEC3 v0 = {1,2,3};
VEC3 v2;
v2[0] = 1; // 添字で指定
と
Vec3 v0 = {1,2,3};
Vec3 v1 = {.x=1,.y=2,.z=3}; // 名前が付いているからこれも出来る
Vec3 v2;
v2.x = 1; // 名前で指定
とどっちが見やすいかと聞かれたら、普通は後者と答えるだろ。
個別にした場合はループが回せないが、
2次元と3次元の決め打ちだけで済むならいらんだろ、ってことだよ。
(どうしてもループ回したければ double* p = &v1.x; で行けるし)
ただまあここら辺は外野の俺らが言い合っても意味がない。
使用者が決めればいいだけ。好みの範疇だからね。
473デフォルトの名無しさん (ブーイモ MMda-EQ2j)
2018/01/26(金) 02:44:51.96ID:aTHTXGTcM474デフォルトの名無しさん (スプッッ Sd7a-pvFI)
2018/01/26(金) 06:55:20.33ID:pq/m69bPd 変数名とかって付けるときなんかルール決めてます?
475デフォルトの名無しさん (ワイモマー MM77-1FxY)
2018/01/26(金) 07:57:07.70ID:CM24TKAOM476デフォルトの名無しさん (ササクッテロル Spab-JKdO)
2018/01/26(金) 10:35:41.57ID:uizSPI6cp 戻り値が構造体ってのは、型宣言に構造体が使えるから言語仕様的に出来なきゃならないんだよ。本当はな。
でも関数内オート変数に一旦格納した型後でreturn オート変数ってやると、コンパイラがアホだからポインターだけ渡してスタック破棄した後に領域コピーしちまうんだ。
運が良ければ残ってるかもね。的な綱渡りさ。割り込みが掛かった時点で死ねる。
でも関数内オート変数に一旦格納した型後でreturn オート変数ってやると、コンパイラがアホだからポインターだけ渡してスタック破棄した後に領域コピーしちまうんだ。
運が良ければ残ってるかもね。的な綱渡りさ。割り込みが掛かった時点で死ねる。
477デフォルトの名無しさん (ワッチョイ 56e7-Tfxv)
2018/01/26(金) 11:39:53.54ID:ogezCzi+0 localtimeは変な奴
478デフォルトの名無しさん (ドコグロ MM3b-dVd5)
2018/01/26(金) 12:58:41.58ID:ZfLE6UH1M479デフォルトの名無しさん (アウアウカー Sa33-bnsf)
2018/01/26(金) 13:00:59.90ID:eO6EE38Oa >>476
それはどう実装されるかの問題。
まあしかし後付け感はあるな。配列はポインタにされちゃうのに構造体の中に配列入れると丸々渡せたりして。
まあ昔々に考えられて互換性を考慮して拡張されてきた言語なので仕方がないようにも思うが。
それはどう実装されるかの問題。
まあしかし後付け感はあるな。配列はポインタにされちゃうのに構造体の中に配列入れると丸々渡せたりして。
まあ昔々に考えられて互換性を考慮して拡張されてきた言語なので仕方がないようにも思うが。
480デフォルトの名無しさん (アウアウエー Saf2-oJ1J)
2018/01/26(金) 13:28:01.67ID:qmyxD0D3a >>477
最近のは引数NULLで桶
最近のは引数NULLで桶
481デフォルトの名無しさん (アウアウエー Saf2-oJ1J)
2018/01/26(金) 13:34:27.88ID:qmyxD0D3a >配列はポインタにされちゃうのに構造体の中に配列入れると丸々渡せたり
あほか
あほか
482デフォルトの名無しさん (ワッチョイ 3a12-fPTX)
2018/01/26(金) 13:45:10.76ID:x7oC2VaJ0 >>427
構造体が話を難しくしているのではないか?
単純に最初から二次元配列を使うだけでいいのでは
Ideone.com - i9PcuN - Online C Compiler & Debugging Tool
ttps://ideone.com/i9PcuN
gram schmidt {{2, 3, 4, 5},{ 7, 8, 9, 10},{ 20, 90, 78, 3},{6, 6, 7, 7}} - Wolfram|Alpha Results
ttp://m.wolframalpha.com/input/?i=gram+schmidt+%7B%7B2%2C+3%2C+4%2C+5%7D%2C%7B+7%2C+8%2C+9%2C+10%7D%2C%7B+20%2C+90%2C+78%2C+3%7D%2C%7B6%2C+6%2C+7%2C+7%7D%7D
>gschmidt 2 3 4 5 7 8 9 10 20 90 78 3 6 6 7 7
これで試すとwolframのと同じになる
構造体が話を難しくしているのではないか?
単純に最初から二次元配列を使うだけでいいのでは
Ideone.com - i9PcuN - Online C Compiler & Debugging Tool
ttps://ideone.com/i9PcuN
gram schmidt {{2, 3, 4, 5},{ 7, 8, 9, 10},{ 20, 90, 78, 3},{6, 6, 7, 7}} - Wolfram|Alpha Results
ttp://m.wolframalpha.com/input/?i=gram+schmidt+%7B%7B2%2C+3%2C+4%2C+5%7D%2C%7B+7%2C+8%2C+9%2C+10%7D%2C%7B+20%2C+90%2C+78%2C+3%7D%2C%7B6%2C+6%2C+7%2C+7%7D%7D
>gschmidt 2 3 4 5 7 8 9 10 20 90 78 3 6 6 7 7
これで試すとwolframのと同じになる
483デフォルトの名無しさん (ワッチョイ 3ad5-WBz1)
2018/01/26(金) 14:03:06.38ID:Q8oR1nja0 スタックがどうたら言ってるやつ
ジジイの昔話をそのまま受け売りしてるだけだな
ジジイの昔話をそのまま受け売りしてるだけだな
484デフォルトの名無しさん (アウアウカー Sa33-bnsf)
2018/01/26(金) 15:18:50.21ID:lz5gZOTMa >>481
何をアホと思ったのか詳細よろしく
何をアホと思ったのか詳細よろしく
485デフォルトの名無しさん (JP 0Haf-5dAg)
2018/01/26(金) 17:02:38.76ID:pySevT5fH 基本型とユーザー定義型の概念が理解出来てないところかな
486デフォルトの名無しさん (JP 0Haf-5dAg)
2018/01/26(金) 17:06:19.25ID:pySevT5fH 小手先のテクニックだけでなく概念そのものしっかり理解した方が良い
487デフォルトの名無しさん (スッップ Sdda-ZRsY)
2018/01/26(金) 17:12:00.37ID:ghv3+z6qd488デフォルトの名無しさん (ブーイモ MMaf-FYQJ)
2018/01/26(金) 18:02:06.76ID:rEWh5MIPM 主にDOS時代の話だなぁ
Sparcのアセンブラで説明する勇者は居らぬか
Sparcのアセンブラで説明する勇者は居らぬか
489愛知人
2018/01/26(金) 20:24:07.81 配列で要素間をまたいで先頭からnビットの位置から6bit取り出してintに入れるにはどうしますか?
490デフォルトの名無しさん (ブーイモ MMaf-xvHi)
2018/01/26(金) 20:31:38.70ID:QZv+kGezM 課題を丸投げするな。
自分なりの解を出して、もっと効率化できるかと聞くならあり。
自分なりの解を出して、もっと効率化できるかと聞くならあり。
>>489
一度に扱う便利な記述法はないから、地道に自分で 1 ビットずつ切り出すしかないのでは?
http://mevius.2ch.net/test/read.cgi/tech/1514772904/111
一度に扱う便利な記述法はないから、地道に自分で 1 ビットずつ切り出すしかないのでは?
http://mevius.2ch.net/test/read.cgi/tech/1514772904/111
492愛知人
2018/01/26(金) 20:35:58.71 >>491
ナカーマ(^人^)
ナカーマ(^人^)
493デフォルトの名無しさん (ササクッテロル Spab-JKdO)
2018/01/26(金) 20:47:46.02ID:uizSPI6cp 組み込み系のヒープってなーに?の環境だと、まだまだ自動変数はスタックに置かれてたりするぞ。
494デフォルトの名無しさん (ササクッテロル Spab-JKdO)
2018/01/26(金) 20:51:44.02ID:uizSPI6cp >>489
ビットフィールドを使う組み合わせ分だけunionしろ。
ビットフィールドを使う組み合わせ分だけunionしろ。
495デフォルトの名無しさん (ワッチョイ c78a-5dAg)
2018/01/26(金) 20:55:00.97ID:nXJEVt+40 C言語の登場当時に画期的だったのは構造体として自由に新しいデータ型を作り出すことが出来たことだった
C++では更にデータだけでは無くて関数まで含めたデータ型がクラスに発展してオブジェクトの概念にまで到達した
要は構造体は新しい概念をプログラムの世界に持ち込むための手段
ベクトルや多次元空間といった概念も構造体によってプログラム内で直接取り扱うことが出来る様になる
C++では更にデータだけでは無くて関数まで含めたデータ型がクラスに発展してオブジェクトの概念にまで到達した
要は構造体は新しい概念をプログラムの世界に持ち込むための手段
ベクトルや多次元空間といった概念も構造体によってプログラム内で直接取り扱うことが出来る様になる
496デフォルトの名無しさん (ワッチョイ b3b3-MCTD)
2018/01/26(金) 20:55:55.12ID:Qu3DLo0l0 配列の任意のところからの 6bit の抜出しってーと
Base64エンコードの実装か?
Base64エンコードの実装か?
497デフォルトの名無しさん (アウアウウー Sa77-rgA5)
2018/01/26(金) 20:57:29.63ID:UUEYCaGha498デフォルトの名無しさん (ワッチョイ b3b3-MCTD)
2018/01/26(金) 20:59:05.70ID:Qu3DLo0l0 まんま 491 だったのか
499デフォルトの名無しさん (ササクッテロル Spab-JKdO)
2018/01/26(金) 21:07:37.65ID:uizSPI6cp >>496
BASE64は3バイトを4つの文字に置き換えるんだから、3バイトづつ処理するコードを書けばいいんだよ。
4文字を3バイトに変える方も同じく4文字づつ処理するコードを書く。
そーすれば、必ず同じ位置からビットフィールド取り出す処理だけになる。
BASE64は3バイトを4つの文字に置き換えるんだから、3バイトづつ処理するコードを書けばいいんだよ。
4文字を3バイトに変える方も同じく4文字づつ処理するコードを書く。
そーすれば、必ず同じ位置からビットフィールド取り出す処理だけになる。
500デフォルトの名無しさん (アウアウウー Sa77-rgA5)
2018/01/26(金) 21:16:02.15ID:UUEYCaGha あれ?もしや俺の書いたお題を解くために質問してたのか?
ま、頑張れ。調べていけば何れわかる。
ま、頑張れ。調べていけば何れわかる。
501デフォルトの名無しさん (ワッチョイ 539f-fPTX)
2018/01/26(金) 22:04:34.58ID:KrxIIzDl0502デフォルトの名無しさん (ブーイモ MMaf-FYQJ)
2018/01/26(金) 22:34:35.80ID:rEWh5MIPM 今更EBCDIC(BASE64)の実装?うげぇ
503愛知人
2018/01/26(金) 22:36:08.45504デフォルトの名無しさん (ワッチョイ 87b6-uzZr)
2018/01/26(金) 22:56:37.84ID:dKJ1F5mn0 「ルール違反の残業には罰則を」安倍政権が成立を目指す「働き方改革関連法」を事前予習!
https://headlines.yahoo.co.jp/hl?a=20180125-00010003-abema-bus_all
長時間労働の是正へ「特別チーム」 厚労省、全国に設置
https://headlines.yahoo.co.jp/hl?a=20180125-00000010-asahi-soci
働き方改革、過半が「不満」 成功する企業の違いは
https://style.nikkei.com/article/DGXMZO25918060Z10C18A1000000?channel=DF180320167080
https://headlines.yahoo.co.jp/hl?a=20180125-00010003-abema-bus_all
長時間労働の是正へ「特別チーム」 厚労省、全国に設置
https://headlines.yahoo.co.jp/hl?a=20180125-00000010-asahi-soci
働き方改革、過半が「不満」 成功する企業の違いは
https://style.nikkei.com/article/DGXMZO25918060Z10C18A1000000?channel=DF180320167080
505デフォルトの名無しさん (ワッチョイ bab3-dVd5)
2018/01/26(金) 23:06:51.56ID:8m7gdhLr0 >>495
> C言語の登場当時に画期的だったのは構造体として自由に新しいデータ型を作り出すことが出来たことだった
PL/1, Pascalにもあったし、範囲型とかをサポートしないサブセットだよ?
むしろポインタを陽に使える方が画期的だったな
> C言語の登場当時に画期的だったのは構造体として自由に新しいデータ型を作り出すことが出来たことだった
PL/1, Pascalにもあったし、範囲型とかをサポートしないサブセットだよ?
むしろポインタを陽に使える方が画期的だったな
506デフォルトの名無しさん (ブーイモ MMaf-FYQJ)
2018/01/26(金) 23:34:31.60ID:rEWh5MIPM ポインタはPascalにもあるし、アドレスと紐ついているというのが
受けたんだと思うけどね
受けたんだと思うけどね
507デフォルトの名無しさん (ワッチョイ bab3-dVd5)
2018/01/26(金) 23:50:55.92ID:8m7gdhLr0 >>506
ああすまん、陽にって言うより自由に使えるって書いた方がよかったかな
ああすまん、陽にって言うより自由に使えるって書いた方がよかったかな
508デフォルトの名無しさん (ワッチョイ e39f-SpET)
2018/01/27(土) 05:09:48.31ID:ibqNKJrC0509デフォルトの名無しさん (ワッチョイ c78a-5dAg)
2018/01/27(土) 06:32:51.94ID:7WxnX7MJ0510デフォルトの名無しさん (ワッチョイ c78a-5dAg)
2018/01/27(土) 06:40:40.67ID:7WxnX7MJ0 要は言語としての設計思想というか考え方の問題であって、画期的の意味は最初という意味では無いということ
511デフォルトの名無しさん (ワッチョイ 3ad5-WBz1)
2018/01/27(土) 07:17:40.52ID:K5pLMFks0 ポインタはCの先祖のBにもあったぞ
512デフォルトの名無しさん (ドコグロ MM32-dVd5)
2018/01/27(土) 07:31:17.05ID:+IHcDO2KM >>509
意味不明
>>510
バカの上塗り w
二番煎じ画期的とは言わない
画期的
これまでとは時代をくぎるほど目覚ましいさま。
新しい時代をひらくさま。
エポックメーキング。
https://dictionary.goo.ne.jp/jn/42567/meaning/m0u/
意味不明
>>510
バカの上塗り w
二番煎じ画期的とは言わない
画期的
これまでとは時代をくぎるほど目覚ましいさま。
新しい時代をひらくさま。
エポックメーキング。
https://dictionary.goo.ne.jp/jn/42567/meaning/m0u/
513デフォルトの名無しさん (ワッチョイ c78a-5dAg)
2018/01/27(土) 07:37:40.78ID:7WxnX7MJ0 C言語はその生い立ちがUNIX のシステム記述のためのツールだからね
画期的ではあっても全く新規の考えというものを指摘するのは難しい
当時の構造化言語のアイデアをひとつの言語として完成させたことが最大の特徴
画期的ではあっても全く新規の考えというものを指摘するのは難しい
当時の構造化言語のアイデアをひとつの言語として完成させたことが最大の特徴
514デフォルトの名無しさん (ブーイモ MMaf-FYQJ)
2018/01/27(土) 07:41:46.63ID:iJdP+2J8M >>508
両方のコード表見比べて関係が判らないなら病院いけ
両方のコード表見比べて関係が判らないなら病院いけ
515デフォルトの名無しさん (ワッチョイ bab3-dVd5)
2018/01/27(土) 08:12:45.44ID:ZgMGVzLO0 Base64 の話に EBCDIC とか言う奴の方が行くべきだろ w
516デフォルトの名無しさん (ワッチョイ b375-lqEN)
2018/01/27(土) 11:43:45.46ID:rGBD/78P0 「EBCDIC(Base64)」(キリッ
517デフォルトの名無しさん (アウアウエー Saf2-qxBm)
2018/01/27(土) 12:01:49.11ID:j3glEAxXa >>499
3の倍数じゃないときは?
3の倍数じゃないときは?
518デフォルトの名無しさん (ワッチョイ b375-lqEN)
2018/01/27(土) 12:03:56.86ID:rGBD/78P0 >>517
ゼロで埋める
ゼロで埋める
519デフォルトの名無しさん (アウアウエー Saf2-qxBm)
2018/01/27(土) 12:07:04.24ID:j3glEAxXa =とか
==で埋めるんじゃないの?
0埋めで変換したら結果違わなくない?
==で埋めるんじゃないの?
0埋めで変換したら結果違わなくない?
520デフォルトの名無しさん (ワッチョイ b375-lqEN)
2018/01/27(土) 12:14:23.87ID:rGBD/78P0 どっちもだな
521デフォルトの名無しさん (ブーイモ MM97-xvHi)
2018/01/27(土) 13:13:51.86ID:kGDKdUgoM 2バイト用と1バイト用のテーブルなんてちょろいでしょ
522デフォルトの名無しさん (アウウィフ FF77-qxBm)
2018/01/27(土) 13:23:06.90ID:LkmGzMNLF pddingは規格に則らないとね
523デフォルトの名無しさん (ワッチョイ 3ad5-WBz1)
2018/01/27(土) 13:55:36.84ID:K5pLMFks0 プリン
524デフォルトの名無しさん (スプッッ Sd7a-pvFI)
2018/01/27(土) 14:28:09.57ID:THs1wO2td C言語学習中だけど企業等々でどんなことに使われてる?
525片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdda-iVxB)
2018/01/27(土) 14:34:22.79ID:TUhH5TnVd >>524
OS、組み込み、速度が要求されるゲーム、数値計算など。
OS、組み込み、速度が要求されるゲーム、数値計算など。
526デフォルトの名無しさん (ワッチョイ e39f-SpET)
2018/01/27(土) 15:57:17.68ID:ibqNKJrC0 >>514
おだいじに。
おだいじに。
527デフォルトの名無しさん (ワッチョイ c78a-5dAg)
2018/01/27(土) 16:24:23.51ID:7WxnX7MJ0528デフォルトの名無しさん (ワッチョイ e39f-SpET)
2018/01/27(土) 16:44:34.14ID:ibqNKJrC0 しかしなんというか、C++は発展させすぎて難しくなった感があるな。
C++ってWindowsネイティブアプリ以外で使われてるのあまり見ないような気がするんだけど。
Windows用で使われる理由は歴史的な理由で、もしこれがなければC++って廃れてないか?
C++ってWindowsネイティブアプリ以外で使われてるのあまり見ないような気がするんだけど。
Windows用で使われる理由は歴史的な理由で、もしこれがなければC++って廃れてないか?
529デフォルトの名無しさん (ワッチョイ 539f-fPTX)
2018/01/27(土) 16:55:56.69ID:InjcCDJK0 >>527
> 実用的にはC++への通過点といった感じで考えておいた方が無難
ダウト。
というか個人的には俺もそう思っていたが、どうも実際はそうじゃない。
https://www.tiobe.com/tiobe-index/
https://techacademy.jp/magazine/8735
あまり毛嫌いする必要もないはずなのだが、C++に乗り換えてない奴らも相当数いる。
理由は>>528の言うとおりで、C++は若干暴走気味だよ。
Linusの言う「無駄に抽象化しすぎて話を余計にややこしくする馬鹿が多すぎる」というのも当たってる。
とはいえクラス構文すら入れないCのかたくなな姿勢はどうなのよ?とも思うが。
> 実用的にはC++への通過点といった感じで考えておいた方が無難
ダウト。
というか個人的には俺もそう思っていたが、どうも実際はそうじゃない。
https://www.tiobe.com/tiobe-index/
https://techacademy.jp/magazine/8735
あまり毛嫌いする必要もないはずなのだが、C++に乗り換えてない奴らも相当数いる。
理由は>>528の言うとおりで、C++は若干暴走気味だよ。
Linusの言う「無駄に抽象化しすぎて話を余計にややこしくする馬鹿が多すぎる」というのも当たってる。
とはいえクラス構文すら入れないCのかたくなな姿勢はどうなのよ?とも思うが。
530デフォルトの名無しさん (ワッチョイ 9e23-Pdni)
2018/01/27(土) 17:14:52.43ID:BOWgYHll0 「なんとなくアセンブラコードが想像できるところまで」
というのがC言語で実装する機能の上限だと思う。
まあ実態とだいぶ乖離しているが、最適化を切ったとかの前提でひとつ
というのがC言語で実装する機能の上限だと思う。
まあ実態とだいぶ乖離しているが、最適化を切ったとかの前提でひとつ
531デフォルトの名無しさん (ワッチョイ c78a-Jirz)
2018/01/27(土) 17:15:48.70ID:7WxnX7MJ0 個人的にはクラス云々よりもC言語では関数のオーバーロードやデフォルト引数あたりが使えないのがもやもやする
というかあまり詳しく調べてないけど、最近のC言語の仕様改定で標準化とかされてなかったよね?
大抵はC++の処理系を利用しているから有耶無耶で利用している人も多いと思うけど
というかあまり詳しく調べてないけど、最近のC言語の仕様改定で標準化とかされてなかったよね?
大抵はC++の処理系を利用しているから有耶無耶で利用している人も多いと思うけど
532デフォルトの名無しさん (アウウィフ FF77-oJ1J)
2018/01/27(土) 17:38:54.08ID:WgYcU0PsF stdarg (... とか va_list) とマクロで出来んか
533デフォルトの名無しさん (アウウィフ FF77-oJ1J)
2018/01/27(土) 17:40:42.13ID:WgYcU0PsF ああrubyが頑張ってるか
534デフォルトの名無しさん (ワッチョイ 539f-fPTX)
2018/01/27(土) 18:39:07.65ID:InjcCDJK0 個人的には評価が確定した物は入れればいいと思ってる。
クラス(またはプロトタイプ)が使えない実用言語なんてほぼ無いわけでさ。
ただ、
> 「なんとなくアセンブラコードが想像できるところまで」 (>>530)
が標準化委員会の指針なら、今の姿勢も分からんでもないが。
>>531
> 関数のオーバーロードやデフォルト引数あたり
実はここは評価が確定してない。
というか、どっちかがあれば大体解決する。
VC++/CLIではデフォルト引数は禁止でオーバーロードのみ。
JavaScriptはオーバーロード無しでデフォルト引数は常にundefinedのみ。
いずれも大した問題はない。
C++は壮大な実験場と化しているから、
Cはありがたくその結果だけを受け取って緩やかに発展させればいいと思うのだが。
クラス(またはプロトタイプ)が使えない実用言語なんてほぼ無いわけでさ。
ただ、
> 「なんとなくアセンブラコードが想像できるところまで」 (>>530)
が標準化委員会の指針なら、今の姿勢も分からんでもないが。
>>531
> 関数のオーバーロードやデフォルト引数あたり
実はここは評価が確定してない。
というか、どっちかがあれば大体解決する。
VC++/CLIではデフォルト引数は禁止でオーバーロードのみ。
JavaScriptはオーバーロード無しでデフォルト引数は常にundefinedのみ。
いずれも大した問題はない。
C++は壮大な実験場と化しているから、
Cはありがたくその結果だけを受け取って緩やかに発展させればいいと思うのだが。
535デフォルトの名無しさん (スップ Sd7a-grVD)
2018/01/27(土) 18:45:25.09ID:n4Fyl/nRd 余計なもん要らんからクラスだけ追加したC+で頼む。
536デフォルトの名無しさん (ワッチョイ 3ae3-W10G)
2018/01/27(土) 19:07:57.64ID:StvMpZM10 c++の使いたいとこだけ使えばいいじゃん
537デフォルトの名無しさん (ワッチョイ c78a-Jirz)
2018/01/27(土) 19:10:00.20ID:7WxnX7MJ0 >>534
>実はここは評価が確定してない。
そんなに揉めるような機能か、これ?
特にオーバーロードなどは今すぐにでも導入されれば、似たような関数名であれこれいらんこと考えずに済むのでメリットしか考えられないんだが
デフォルト引数もあっても悪いものではないだろう
クラスの導入のように現行のC言語の規格を大きく変更(デメリットも含めて)することなく、簡単に言語の使い勝手を向上させるお手軽な改善だと思っていたんだが違うのか
>実はここは評価が確定してない。
そんなに揉めるような機能か、これ?
特にオーバーロードなどは今すぐにでも導入されれば、似たような関数名であれこれいらんこと考えずに済むのでメリットしか考えられないんだが
デフォルト引数もあっても悪いものではないだろう
クラスの導入のように現行のC言語の規格を大きく変更(デメリットも含めて)することなく、簡単に言語の使い勝手を向上させるお手軽な改善だと思っていたんだが違うのか
538デフォルトの名無しさん (ワッチョイ 539f-fPTX)
2018/01/27(土) 19:57:46.36ID:InjcCDJK0 >>537
> ●java
> デフォルト引数なし.オーバーロードはあり.
> ●python
> デフォルト引数はあるが,オーバーロードはなし.
> https://plaza.rakuten.co.jp/redbeeshrimp/diary/201112240001/
理由についてグダグダ言っている奴は他にもいたはずだが、例えば以下。
http://ufcpp.net/study/csharp/sp4_optional.html
> 余談: なんでいまさら?
以降を読んでみればいい。
型あり言語は型違いで無駄に同じ趣旨の関数が氾濫することになるから、
オーバーロード/テンプレート/ジェネリクスのどれかはあった方がソースは綺麗になる。
だから型無し言語(JavaScript/Python)はオーバーロード無しでデフォルト引数だけ、というのもまあ妥当な線だろう。
ならば、テンプレートを持っているC++は、
オーバーロード無しで、デフォルト引数+テンプレートだけで綺麗に書けるか、という話になる。
多分これもやれば出来るんだよ。
勿論そこに出ている「名前付き引数+テンプレート」でも綺麗に書ける。
どれを言語に取り込むべきか、ということに関して、C++は「全部入れちゃえ」というノリだからいいとして、
Cみたいにミニマムで美しく、というノリで「どれかにしろ」と言われたらちょっと迷うだろ。
Linusは多分オーバーロードすら要らん、という立場だぞ。
ちょっとググってもすぐには出てこなかったが、
「Cはこれについて馬鹿みたいに単純な方法(別の名前を付けること)で対応している。
実際、これはgrep出来るしメンテしやすい」
と言っていたはず。
まあ分からんでもないだろ。オーバーロードすら無しならgrepした関数に確実にそのまま当たる。
ソースを追うという意味ではこちらの方が当たってる。
オブジェクト指向の継承が良くない点の一つは、ぱっと見、どの関数が実行されるか分かりづらい点であってさ。
勿論、「分からなくていいし、分かる必要がない」というのがオブジェクト指向のノリだとしてもね。
> ●java
> デフォルト引数なし.オーバーロードはあり.
> ●python
> デフォルト引数はあるが,オーバーロードはなし.
> https://plaza.rakuten.co.jp/redbeeshrimp/diary/201112240001/
理由についてグダグダ言っている奴は他にもいたはずだが、例えば以下。
http://ufcpp.net/study/csharp/sp4_optional.html
> 余談: なんでいまさら?
以降を読んでみればいい。
型あり言語は型違いで無駄に同じ趣旨の関数が氾濫することになるから、
オーバーロード/テンプレート/ジェネリクスのどれかはあった方がソースは綺麗になる。
だから型無し言語(JavaScript/Python)はオーバーロード無しでデフォルト引数だけ、というのもまあ妥当な線だろう。
ならば、テンプレートを持っているC++は、
オーバーロード無しで、デフォルト引数+テンプレートだけで綺麗に書けるか、という話になる。
多分これもやれば出来るんだよ。
勿論そこに出ている「名前付き引数+テンプレート」でも綺麗に書ける。
どれを言語に取り込むべきか、ということに関して、C++は「全部入れちゃえ」というノリだからいいとして、
Cみたいにミニマムで美しく、というノリで「どれかにしろ」と言われたらちょっと迷うだろ。
Linusは多分オーバーロードすら要らん、という立場だぞ。
ちょっとググってもすぐには出てこなかったが、
「Cはこれについて馬鹿みたいに単純な方法(別の名前を付けること)で対応している。
実際、これはgrep出来るしメンテしやすい」
と言っていたはず。
まあ分からんでもないだろ。オーバーロードすら無しならgrepした関数に確実にそのまま当たる。
ソースを追うという意味ではこちらの方が当たってる。
オブジェクト指向の継承が良くない点の一つは、ぱっと見、どの関数が実行されるか分かりづらい点であってさ。
勿論、「分からなくていいし、分かる必要がない」というのがオブジェクト指向のノリだとしてもね。
539デフォルトの名無しさん
2018/01/27(土) 20:51:31.73 あまりにミニマムすぎるとみんなが好き勝手なマクロを作って「僕が考えたエレガントなコーディング」を始めるから少しは高級な記法を用意しといてくれや
540デフォルトの名無しさん (アウアウカー Sa33-bnsf)
2018/01/27(土) 20:56:30.77ID:0ISwxtuYa うーん。Cはアセンブラ代わりの単純な言語にしておいてそれ以上の事は別の言語でやればいいような気がするが。
丁度よい言語が見つからないなら作れば良い。自分で作れなくても仕様を公開して作ってくれる人を募集すればその内誰か作ってくれることだろう。
丁度よい言語が見つからないなら作れば良い。自分で作れなくても仕様を公開して作ってくれる人を募集すればその内誰か作ってくれることだろう。
>>537
関数のオーバーロードは、リンク時の対応にアセンブラ互換性がとれなくなるので、お手軽ではないと思う
extern "C" を追加するか?え、C に extern "C" って意味わかんない…
関数のオーバーロードは、リンク時の対応にアセンブラ互換性がとれなくなるので、お手軽ではないと思う
extern "C" を追加するか?え、C に extern "C" って意味わかんない…
542デフォルトの名無しさん (ワッチョイ 6e62-WBz1)
2018/01/27(土) 21:34:53.32ID:MtS5alc90 >>541
おまえさんの言っていることこそ意味わかんない
おまえさんの言っていることこそ意味わかんない
>>542
C++ 名前マングリングを指していたんだが…
C++ 名前マングリングを指していたんだが…
544デフォルトの名無しさん (ワッチョイ 6ec3-WBz1)
2018/01/27(土) 22:30:10.80ID:QdmRQWNl0 >>543
defファイルのことだとしたらしょーもねーな
defファイルのことだとしたらしょーもねーな
545デフォルトの名無しさん (ブーイモ MMda-EQ2j)
2018/01/27(土) 22:50:15.16ID:l2t/3O07M CはUNIX思想の根源みたいなもんだし、十徳ナイフみたいな機能はいらんでしょ
どうしてもって人はC++使えばいいだろ
そのためにできたようなもんだし
どうしてもって人はC++使えばいいだろ
そのためにできたようなもんだし
546デフォルトの名無しさん (ワッチョイ 9e9f-eGIS)
2018/01/28(日) 14:26:11.42ID:Ixu0c+cx0 質問答えてくれたら嬉しいです
配列の中身をfprintfでエクセルに書き込む方法を教えてください
fprintf(fp,"%3d , %3dn",0,value)
のように一変数を書きこむ方法は分かるのですが配列のすべての要素を書き込みたいです
配列の中身をfprintfでエクセルに書き込む方法を教えてください
fprintf(fp,"%3d , %3dn",0,value)
のように一変数を書きこむ方法は分かるのですが配列のすべての要素を書き込みたいです
547デフォルトの名無しさん
2018/01/28(日) 14:36:25.54548デフォルトの名無しさん (ワッチョイ 43a8-JKdO)
2018/01/28(日) 14:53:05.75ID:2u+0fM2+0 エクセル言ってるんだから、エクセルクラスモジュール組み込んでライブラリ使うんだろ?
549デフォルトの名無しさん (アメ MMaf-Ah9j)
2018/01/28(日) 14:55:16.18ID:DwGHyqdDM でもfprintfでやりたいそうだし…
550デフォルトの名無しさん (スップ Sd7a-grVD)
2018/01/28(日) 15:01:30.88ID:uJNdMzSvd Csvだろうな。
です
for()で
fprintf(format,array[i])
を回せばええんちゃうん?
です
for()で
fprintf(format,array[i])
を回せばええんちゃうん?
551デフォルトの名無しさん (ワッチョイ 9e9f-eGIS)
2018/01/28(日) 15:17:40.71ID:Ixu0c+cx0 >>547
csvファイルですね
csvファイルですね
552デフォルトの名無しさん (ワッチョイ 9e9f-eGIS)
2018/01/28(日) 15:21:08.26ID:Ixu0c+cx0 なんの考えもなしに愚直に書くとこういうことがやりたいです
long value[100],k;
for(k=0;k<100;k++){
value[k]=500;
}
fprintf(fp,"%3d,%3d,%3d,%3d,%3d・・・,%3d\n",0,value[1],value[2],・・・value[100]);
long value[100],k;
for(k=0;k<100;k++){
value[k]=500;
}
fprintf(fp,"%3d,%3d,%3d,%3d,%3d・・・,%3d\n",0,value[1],value[2],・・・value[100]);
553デフォルトの名無しさん (ワッチョイ e39f-rgA5)
2018/01/28(日) 15:25:40.21ID:bdrFjlI30 for (k = 0; k < 100; k++) {
if (k) putchar(',');
fprintf(fp, "%3d", value[k]);
}
putchar('\n');
if (k) putchar(',');
fprintf(fp, "%3d", value[k]);
}
putchar('\n');
554デフォルトの名無しさん (ワッチョイ e39f-rgA5)
2018/01/28(日) 15:26:25.54ID:bdrFjlI30 あ、間違えた。putchar() じゃなくて putc() にして fp に対して出力に書き換えて。
555デフォルトの名無しさん (ワッチョイ 9e9f-eGIS)
2018/01/28(日) 15:34:24.62ID:Ixu0c+cx0 >>553
ありがとうございます!
fprintf(fp, "%3d", 0);
for (k = 0; k < 100; k++) {
putc(',');
fprintf(fp, "%3d", value[k]);
}
putc('\n');
であってますか?
ありがとうございます!
fprintf(fp, "%3d", 0);
for (k = 0; k < 100; k++) {
putc(',');
fprintf(fp, "%3d", value[k]);
}
putc('\n');
であってますか?
556デフォルトの名無しさん (ワッチョイ bab3-dVd5)
2018/01/28(日) 15:48:50.89ID:C2Jb//yt0 >>555
それでいいなら
fprintf(fp, "%3d", 0);
for (k = 0; k < 100; k++) {
fprintf(fp, ",%3d", value[k]);
}
putc('\n', fp);
でいいかと
それでいいなら
fprintf(fp, "%3d", 0);
for (k = 0; k < 100; k++) {
fprintf(fp, ",%3d", value[k]);
}
putc('\n', fp);
でいいかと
557デフォルトの名無しさん
2018/01/28(日) 16:16:34.41 でも1バイトずつ出力なんて普通はしないで
行くらいはまとめて出力するやろ?
char buf[405]; /* 3桁数字×101個 + カンマ100個 + 改行 + 「¥0」でMAXサイズ決め打ち */
size_t pos;
/* 1行処理開始 */
pos = 0;
sprintf(&buf[pos], "%3d", 0); pos += 3;
for (k = 0; k < 100; k++) {
sprintf(&buf[pos], “,%3d", value[k]); pos += 4;
}
sprintf(&buf[pos], “¥n”); pos++; /* buf[pos++] = ‘¥n’; buf[pos++] = ‘¥0’; でもいいけど */
fwrite(&buf[0], 1, pos, fp);
/* 1行処理終了 */
行くらいはまとめて出力するやろ?
char buf[405]; /* 3桁数字×101個 + カンマ100個 + 改行 + 「¥0」でMAXサイズ決め打ち */
size_t pos;
/* 1行処理開始 */
pos = 0;
sprintf(&buf[pos], "%3d", 0); pos += 3;
for (k = 0; k < 100; k++) {
sprintf(&buf[pos], “,%3d", value[k]); pos += 4;
}
sprintf(&buf[pos], “¥n”); pos++; /* buf[pos++] = ‘¥n’; buf[pos++] = ‘¥0’; でもいいけど */
fwrite(&buf[0], 1, pos, fp);
/* 1行処理終了 */
558デフォルトの名無しさん (アウアウウー Sa77-rgA5)
2018/01/28(日) 20:06:56.21ID:4RSN9gyea559デフォルトの名無しさん
2018/01/28(日) 21:56:59.74 >>558
ロックのコストがかかるだろ
ロックのコストがかかるだろ
560愛知人
2018/01/29(月) 00:59:07.31ID:pcTu+bOr561愛知人
2018/01/29(月) 01:00:38.69ID:pcTu+bOr 画像の順番ミスりました。
562デフォルトの名無しさん (ワッチョイ e39f-SpET)
2018/01/29(月) 01:22:55.81ID:CxmMjiyr0 >>559
どのレベルでのロック?
どのレベルでのロック?
563愛知人
2018/01/29(月) 01:45:54.32ID:pcTu+bOr あ、原因わかりました
564デフォルトの名無しさん (ワッチョイ 9e9f-eGIS)
2018/01/29(月) 13:52:22.33ID:FA24LoNZ0 >>558
ありがとうございます
ありがとうございます
565デフォルトの名無しさん (ワッチョイ 9e9f-eGIS)
2018/01/29(月) 15:32:09.28ID:FA24LoNZ0566片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdda-iVxB)
2018/01/29(月) 15:40:58.91ID:MMFEPnwQd long array[] = {1, 2, 3, ' '};
memset(array, ' ', sizeof(array));
memset(array, ' ', sizeof(array));
567片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdda-iVxB)
2018/01/29(月) 15:55:33.60ID:MMFEPnwQd 配列に空白を入れるというのは、配列のどこかに、空白文字の文字コードを表す整数値を入れるという意味になる。
文字コードは、文字リテラルか整数リテラルで指定できる。
文字コードは、文字リテラルか整数リテラルで指定できる。
568デフォルトの名無しさん (ワッチョイ 9e9f-eGIS)
2018/01/29(月) 16:26:29.34ID:FA24LoNZ0 >>566
ご返事ありがとうございます
ご返事ありがとうございます
569デフォルトの名無しさん (ワッチョイ 9e23-Pdni)
2018/01/29(月) 20:07:03.14ID:F9uU0ACk0 配列の初期化で
int arr[10] = {};
と空に書くのは本来は行儀悪いことなんだな
int arr[10] = {0};
と最低1個は書かないとだめなのか
int arr[10] = {};
と空に書くのは本来は行儀悪いことなんだな
int arr[10] = {0};
と最低1個は書かないとだめなのか
570デフォルトの名無しさん (ワッチョイ 539f-fPTX)
2018/01/29(月) 20:19:04.64ID:b/VoqT930571デフォルトの名無しさん (ササクッテロル Spab-JKdO)
2018/01/29(月) 22:13:00.47ID:QfKx/Eh8p それ、空白じゃなくて、32だろ?
572デフォルトの名無しさん (アウアウカー Sa33-h2eI)
2018/01/29(月) 23:21:59.02ID:E7SWxZBPa cの初心者抜け出したいんだがgithubってのを使えばいいの?
573デフォルトの名無しさん (ワッチョイ 3ae3-W10G)
2018/01/30(火) 00:41:17.69ID:6zu/5bMS0 空白は32だろ
574デフォルトの名無しさん (ブーイモ MMaf-EQ2j)
2018/01/30(火) 00:57:52.94ID:sO+vG/P3M 俺の32年間の空白は埋まらない・・・
575愛知人
2018/01/30(火) 01:24:21.22ID:nQQmpnBb 空白=32=空白
576デフォルトの名無しさん (ワッチョイ ae81-veht)
2018/01/30(火) 01:33:07.55ID:vYlu6VEV0 空白が全て
577デフォルトの名無しさん (ワッチョイ e39f-SpET)
2018/01/30(火) 04:18:14.15ID:9ZRSIjLC0 今話題のEBCDICだと違うかも
578デフォルトの名無しさん (ワッチョイ 27c5-WBz1)
2018/01/30(火) 07:10:20.07ID:fB1rx/fO0 64だね
579デフォルトの名無しさん (スプッッ Sd7a-pvFI)
2018/01/30(火) 15:31:40.14ID:jZaFosZad *min=100;
これの意味を教えてください。
これの意味を教えてください。
580デフォルトの名無しさん (ササクッテロル Spab-JKdO)
2018/01/30(火) 15:44:23.40ID:EzMX6q22p じゃあ、空白と32はどうやって区別する気だ?
581愛知人
2018/01/30(火) 15:46:46.33 ?
582デフォルトの名無しさん (ワッチョイ aeea-MCTD)
2018/01/30(火) 15:51:17.34ID:yCe36s9T0 (アスキーコードを使ってる仮定で) SPC文字 と 整数32 は等価
より大きいサイズへの整数への格上げも素直に行われるだろう
long a = ' ';
long b = 32;
// a と b は等しい
元質問 >>565
「long型の配列に空白を入れることは可能でしょうか?」における
空白とはなんぞや?が ' ' でいいのかどうかは知らん
より大きいサイズへの整数への格上げも素直に行われるだろう
long a = ' ';
long b = 32;
// a と b は等しい
元質問 >>565
「long型の配列に空白を入れることは可能でしょうか?」における
空白とはなんぞや?が ' ' でいいのかどうかは知らん
583デフォルトの名無しさん (ワッチョイ 4f8a-DNDJ)
2018/01/30(火) 15:52:45.57ID:do+1Lfb+0 区別はないのでは?
コード書く際のお約束事項
コード書く際のお約束事項
>>579
min という変数がポインタだとして、min の指し示すところに 100 を代入する、という意味になる
部分だけではよくわからない場合もあるので、可能ならば全体を https://ideone.com に張ってもらえると、もっと解説できるかもしれない
min という変数がポインタだとして、min の指し示すところに 100 を代入する、という意味になる
部分だけではよくわからない場合もあるので、可能ならば全体を https://ideone.com に張ってもらえると、もっと解説できるかもしれない
585愛知人
2018/01/30(火) 16:00:11.58 ロング型に文字入れてもprintfできないのに何の意味があるのか分からん
586デフォルトの名無しさん (ワッチョイ aeea-MCTD)
2018/01/30(火) 16:13:20.24ID:yCe36s9T0 上位ビットのほうををフラグに使って下位は文字そのまんまかもしれんじゃん
まぁ 構造体・共用体でやれって話になるが
まぁ 構造体・共用体でやれって話になるが
587デフォルトの名無しさん (ワッチョイ 8b8a-Jirz)
2018/01/30(火) 16:15:56.75ID:027pZzxf0 >long a = ' ';
>long b = 32;
>// a と b は等しい
long a = 0;
long b = '0';
a と b は等しくない
>long b = 32;
>// a と b は等しい
long a = 0;
long b = '0';
a と b は等しくない
588デフォルトの名無しさん (スプッッ Sd7a-pvFI)
2018/01/30(火) 16:28:20.57ID:jZaFosZad #include <stdio.h>
void maxmin(int array[],int max,int min); int main(void)
{
int i = 0,array[10],max,min;
do
{
printf("%d 番目の数:",i + 1); scanf("%d",&array[i]); i++;
} while (array[i - 1] != -1);
maxmin(array,&max,&min);
printf("最大値 %d : 最小%d\n",max,min);
return 0;
}
void maxmin(int array[],int max,int min)
{
int i = 0;
*max = 0;
*min = 100;
while (array[i] != -1)
{
if (array[i] > max) max = array[i];
if (array[i] < min) min = array[i];
i++;
}
}
void maxmin(int array[],int max,int min); int main(void)
{
int i = 0,array[10],max,min;
do
{
printf("%d 番目の数:",i + 1); scanf("%d",&array[i]); i++;
} while (array[i - 1] != -1);
maxmin(array,&max,&min);
printf("最大値 %d : 最小%d\n",max,min);
return 0;
}
void maxmin(int array[],int max,int min)
{
int i = 0;
*max = 0;
*min = 100;
while (array[i] != -1)
{
if (array[i] > max) max = array[i];
if (array[i] < min) min = array[i];
i++;
}
}
589デフォルトの名無しさん (スプッッ Sd7a-pvFI)
2018/01/30(火) 16:28:46.19ID:jZaFosZad >>584
これです。
これです。
590愛知人
2018/01/30(火) 16:35:56.43 int max, minが宣言されてなくね?
591愛知人
2018/01/30(火) 16:37:38.36 int *max, *min
592デフォルトの名無しさん (ワッチョイ aeea-MCTD)
2018/01/30(火) 16:42:57.56ID:yCe36s9T0 × void maxmin(int array[],int max,int min)
○ void maxmin(int array[],int *max,int *min)
× if (array[i] > max) max = array[i];
○ if (array[i] > *max) *max = array[i];
× if (array[i] < min) min = array[i];
○ if (array[i] < *min) *min = array[i];
ポインタ使わずに記述してて、呼び出し元に結果かえってないじゃーん
から、慌ててポインタに変えた感じかな?
○ void maxmin(int array[],int *max,int *min)
× if (array[i] > max) max = array[i];
○ if (array[i] > *max) *max = array[i];
× if (array[i] < min) min = array[i];
○ if (array[i] < *min) *min = array[i];
ポインタ使わずに記述してて、呼び出し元に結果かえってないじゃーん
から、慌ててポインタに変えた感じかな?
593デフォルトの名無しさん (スプッッ Sd7a-pvFI)
2018/01/30(火) 17:16:00.10ID:jZaFosZad594愛知人
2018/01/30(火) 17:19:04.96 下の関数はmain関数と思い込んでだけどよく見たら引数あるのか
595デフォルトの名無しさん (ワッチョイ aeea-MCTD)
2018/01/30(火) 17:21:54.42ID:yCe36s9T0 >>593
yes 間違ってるね
yes 間違ってるね
596デフォルトの名無しさん (アウアウエー Saf2-oJ1J)
2018/01/30(火) 17:24:42.43ID:61BNvo+Ja597デフォルトの名無しさん (スプッッ Sd7a-pvFI)
2018/01/30(火) 17:52:19.79ID:jZaFosZad 問題は3番です。
598デフォルトの名無しさん (アウアウエー Saf2-qxBm)
2018/01/30(火) 18:07:51.62ID:zy+7iaPqa これはひどい
599デフォルトの名無しさん (スップ Sdda-9VnS)
2018/01/30(火) 18:15:55.76ID:XPIsRdtid エラーが起きても仕方ないものとするとか
初心者向けでも考え方が間違ってる
初心者向けでも考え方が間違ってる
600デフォルトの名無しさん (ワッチョイ 879b-pvFI)
2018/01/30(火) 19:32:13.98ID:0s34k5D+0 エラーが起きないことを想定するとどんな書き方なんですか?
601片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdda-iVxB)
2018/01/30(火) 19:44:18.22ID:XXEBAVhRd >>600
50メートル歩くプログラムで、こけても起き上がらず、足を動かして歩こうとするみたいな。
50メートル歩くプログラムで、こけても起き上がらず、足を動かして歩こうとするみたいな。
602デフォルトの名無しさん (ドコグロ MMda-dVd5)
2018/01/30(火) 20:55:42.91ID:+nOyuNPbM603デフォルトの名無しさん (オッペケ Srab-9Pjq)
2018/01/30(火) 21:14:33.45ID:YzkDukp0r これは苦しいwwwww
604デフォルトの名無しさん (ワッチョイ 879b-pvFI)
2018/01/30(火) 21:28:49.70ID:0s34k5D+0 結果、592みたいに書き換えればOKですか?
605デフォルトの名無しさん (ワッチョイ 6e9f-EJdX)
2018/01/30(火) 23:29:38.46ID:00UPAqOQ0 ※今回の問題は初心者にはなかなか難しい問題です
606デフォルトの名無しさん (スプッッ Sd7a-pvFI)
2018/01/31(水) 07:45:53.23ID:Eqd0aQ/Ld607デフォルトの名無しさん (オッペケ Srab-9Pjq)
2018/01/31(水) 07:53:31.27ID:OVj1tDHAr >苦しんで覚えるC言語(苦C)は、初心者を対象としたC言語入門サイトです。
>C言語の基本機能を体系立てて解説しており、市販書籍と同等以上の完成度です。
去年サイトリニューアルするまでは、項目はあるのにページが無いのとか結構あったし、完成してないのにこれで市販書籍以上の完成度とかよく書けるなw
>C言語の基本機能を体系立てて解説しており、市販書籍と同等以上の完成度です。
去年サイトリニューアルするまでは、項目はあるのにページが無いのとか結構あったし、完成してないのにこれで市販書籍以上の完成度とかよく書けるなw
608デフォルトの名無しさん
2018/01/31(水) 08:25:41.29 >>607
運営者本人が初学者だから苦しんでるんだろうなw
運営者本人が初学者だから苦しんでるんだろうなw
609デフォルトの名無しさん (スップ Sd7a-grVD)
2018/01/31(水) 09:31:32.60ID:mhVZZjkLd 苦しんで覚えるって意味では合ってんじゃね
610デフォルトの名無しさん (アウアウカー Sa33-Ddy8)
2018/01/31(水) 09:36:28.08ID:tZ9ZYGRwa >>604
ネット上には当てにならない情報が溢れているから、ある程度自分で判断できるレベルになるまではちゃんとした書籍で勉強した方がいいよ
ネット上には当てにならない情報が溢れているから、ある程度自分で判断できるレベルになるまではちゃんとした書籍で勉強した方がいいよ
611デフォルトの名無しさん (ワッチョイ b3b3-MCTD)
2018/01/31(水) 09:51:21.11ID:4EcHtUfm0 とはいえ、書籍も正誤表があったりするから確認大事
612デフォルトの名無しさん (アウアウカー Sa33-bnsf)
2018/01/31(水) 10:23:38.93ID:H6iQ2Lk/a 体で覚えるしかないな
なんて、コンパイラにバグがあって変な風に覚えちゃったりしてw
なんて、コンパイラにバグがあって変な風に覚えちゃったりしてw
613デフォルトの名無しさん (ワッチョイ 9abb-WBz1)
2018/01/31(水) 10:43:34.99ID:QvVHWT0m0 よくあるのが非標準拡張機能に騙されて
それが標準と思い込んでしまうことだ
それが標準と思い込んでしまうことだ
614デフォルトの名無しさん (ワッチョイ 5323-oJ1J)
2018/01/31(水) 11:31:00.48ID:S61vzQOK0 最近の書籍はあてにならない
著者も編集もレベル落ちてる
著者も編集もレベル落ちてる
615デフォルトの名無しさん (アウアウカー Sa33-bnsf)
2018/01/31(水) 12:50:06.35ID:lHClPcOQa gccには騙されっぱなしです。
616デフォルトの名無しさん (アウアウカー Sa33-bnsf)
2018/01/31(水) 12:52:56.34ID:lHClPcOQa void * の変数に1を足しているのを見た時は驚きました。
617デフォルトの名無しさん (ワッチョイ 9abb-WBz1)
2018/01/31(水) 14:31:32.52ID:QvVHWT0m0 メモリのハード的な最小単位へのポインタは欲しかった
618デフォルトの名無しさん (ワッチョイ ae81-veht)
2018/01/31(水) 14:46:24.57ID:tg0W/TOu0 そういえば昔1/2ビットシフトなんてテクニックがあったな
619デフォルトの名無しさん (スップ Sdda-ZRsY)
2018/01/31(水) 15:33:53.88ID:qM4FetfNd なにそれ?
620デフォルトの名無しさん (アウウィフ FF77-qxBm)
2018/01/31(水) 15:35:34.27ID:gelGqHfVF 円周率の任意の桁が求まるやつ
621デフォルトの名無しさん (ワッチョイ 8761-W10G)
2018/01/31(水) 15:42:21.62ID:idpa2H+20 0.5ドットスクロールとかいう(ry
622デフォルトの名無しさん (ワッチョイ b3b3-MCTD)
2018/01/31(水) 17:47:56.79ID:4EcHtUfm0 1.5ストップビットみたいな 立ってるビットの総和で1シフトする/しないとかの条件付きかと思ったけど
ふと 2で割る演算を 右へ算術シフトする話のほうっぽい
ふと 2で割る演算を 右へ算術シフトする話のほうっぽい
623デフォルトの名無しさん (アウアウカー Sa33-/a9j)
2018/01/31(水) 21:48:25.82ID:NqV1T3vca624デフォルトの名無しさん (アウアウカー Sa33-Ddy8)
2018/01/31(水) 22:05:49.58ID:zLUjiCxNa >>623
それC言語とは関係ないんじゃないか
それC言語とは関係ないんじゃないか
625デフォルトの名無しさん (ワッチョイ b3b3-MCTD)
2018/01/31(水) 22:05:54.65ID:4EcHtUfm0 ラプラス変換(からZ変換した)後に、やっとCのコーディングの話になるので
どこか余所できいたほうがいい
どこか余所できいたほうがいい
626デフォルトの名無しさん (アウアウカー Sa33-/a9j)
2018/01/31(水) 22:14:41.87ID:NqV1T3vca 数学ですかね…
他に当たります。ありがとうございます。
他に当たります。ありがとうございます。
627片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdda-iVxB)
2018/01/31(水) 22:16:19.21ID:azVmFw6Pd >>623
数値微分の考え方をまず理解して、さらに三角関数の微分と、極限を理解しないといけない。大学数学だよ。
数値微分の考え方をまず理解して、さらに三角関数の微分と、極限を理解しないといけない。大学数学だよ。
628デフォルトの名無しさん (ワッチョイ 8b8a-Jirz)
2018/01/31(水) 23:09:12.67ID:DKLTi2Aw0 元が消えてるからよく分からんけど、>>627の内容って高校数学の内容じゃないの?
629デフォルトの名無しさん (アウアウカー Sa33-/a9j)
2018/01/31(水) 23:29:55.01ID:NqV1T3vca https://i.imgur.com/yXsENPk.jpg
https://i.imgur.com/LhIHXaC.jpg
こちらになります。
一応これをC言語でやれというものなので、よろしくお願いします。
解き方の方針だけでも、、、
θをラプラス変換後、伝達関数と掛け合わせてから、逆ラプラス変換をするのかと思いましたが、そんなこと計算できませんでした。
よろしくお願いします。
https://i.imgur.com/LhIHXaC.jpg
こちらになります。
一応これをC言語でやれというものなので、よろしくお願いします。
解き方の方針だけでも、、、
θをラプラス変換後、伝達関数と掛け合わせてから、逆ラプラス変換をするのかと思いましたが、そんなこと計算できませんでした。
よろしくお願いします。
630愛知人
2018/02/01(木) 01:41:00.48 流石にラプラス変換をC言語でやれという問題じゃないと思う(´・ω・`)
手計算で(6)式に対する出力信号(tの関数)をωcを含む形で導いてから、適当な値を変数omagacにセットして出力信号を数値計算するのでは...?
手計算で(6)式に対する出力信号(tの関数)をωcを含む形で導いてから、適当な値を変数omagacにセットして出力信号を数値計算するのでは...?
631デフォルトの名無しさん (ワッチョイ 9fc7-2d+2)
2018/02/01(木) 02:11:44.27ID:1L/crdkJ0 手計算で、θをラプラス変換して、10式と掛け合わせて、ラプラス逆変換までするのかな?
それができたら、できそうだけど、、、
計算できるかな
それができたら、できそうだけど、、、
計算できるかな
632愛知人
2018/02/01(木) 02:20:41.57 普通にやればできると思う。
633デフォルトの名無しさん (ワッチョイ 9fc7-2d+2)
2018/02/01(木) 02:42:05.21ID:1L/crdkJ0 部分分数分解できねぇ…
634デフォルトの名無しさん (ワッチョイ d78a-IOOI)
2018/02/01(木) 02:43:54.99ID:3G6Lk4x40 >>629
積分器の部分が面倒くさいな
単純に時間刻み値一段だけ遅延させてみたけどうまくcos波形にならない
何段遅延させればうまくいくかよく分からない
とりあえず方針としては、ブロック図を単純に差分方程式に落とし込んでやれば回答には辿り着けるはず
1/sの部分が積分器だから入力を適当に遅延させて出力させてやればいい
ラプラス変換云々は理論的な理解には大切だけど、プログラム的には最終的に差分方程式(数学的には微分方程式)の形に落とし込んでしまえばいいよ
もうここまでにして途中のソースだけ挙げておく
https://ideone.com/69YxIz
積分器の部分が面倒くさいな
単純に時間刻み値一段だけ遅延させてみたけどうまくcos波形にならない
何段遅延させればうまくいくかよく分からない
とりあえず方針としては、ブロック図を単純に差分方程式に落とし込んでやれば回答には辿り着けるはず
1/sの部分が積分器だから入力を適当に遅延させて出力させてやればいい
ラプラス変換云々は理論的な理解には大切だけど、プログラム的には最終的に差分方程式(数学的には微分方程式)の形に落とし込んでしまえばいいよ
もうここまでにして途中のソースだけ挙げておく
https://ideone.com/69YxIz
635愛知人
2018/02/01(木) 02:49:41.29 部分分数分解なんか要らないと思うけど...
636愛知人
2018/02/01(木) 02:52:06.51 ごめん、俺が知ってるやり方も部分分数分解だった。
でも手順に従うだけじゃ...?
http://lab.cntl.kyutech.ac.jp/~nishida/lecture/MathOfCntl/no5.pdf
でも手順に従うだけじゃ...?
http://lab.cntl.kyutech.ac.jp/~nishida/lecture/MathOfCntl/no5.pdf
637デフォルトの名無しさん (アウアウカー Sa2b-2d+2)
2018/02/01(木) 12:27:50.14ID:Df+LK2Bma >>634
伝達関数の使い方が、その方法じゃ分からないです…
勉強不足です。
>>635
θをラプラス変換したものを伝達関数と掛け合わせてから、逆ラプラス変換した結果がこうなりました。
T=ω/(ω^2+1)
P=0.1/ω^2+1000^2
と適当な文字において、
θ(t)'=T(-cos(t)+ωsin(t)+e^(-ωt))+
P(-cos(t)+ωsin(1000^(2)×t)/1000^(2)+e^(-ωt))
となりました。
これをtを0.001秒毎に、0〜10まで出していけばいいんですよね?
自分でやってみたんですけど、tが0.001秒毎に変わっていかなくて途方にくれてます。
多分簡単なことなんで、コードをお願いします。
伝達関数の使い方が、その方法じゃ分からないです…
勉強不足です。
>>635
θをラプラス変換したものを伝達関数と掛け合わせてから、逆ラプラス変換した結果がこうなりました。
T=ω/(ω^2+1)
P=0.1/ω^2+1000^2
と適当な文字において、
θ(t)'=T(-cos(t)+ωsin(t)+e^(-ωt))+
P(-cos(t)+ωsin(1000^(2)×t)/1000^(2)+e^(-ωt))
となりました。
これをtを0.001秒毎に、0〜10まで出していけばいいんですよね?
自分でやってみたんですけど、tが0.001秒毎に変わっていかなくて途方にくれてます。
多分簡単なことなんで、コードをお願いします。
638デフォルトの名無しさん (ワッチョイ f723-aShi)
2018/02/01(木) 13:40:30.82ID:NCVvUhLZ0 宿題は宿題スレ
639愛知人
2018/02/01(木) 15:22:38.94 >>637
計算結果が間違ってる(>_<)
計算結果が間違ってる(>_<)
640デフォルトの名無しさん (ワッチョイ 9f37-j4Dg)
2018/02/01(木) 15:39:24.12ID:sLGIVvbi0 int main()
{
int a;
a=1;
sumNum(&a);
printf("%d\n",a);//13
char str;
sumStr(&str);
printf("%c\n",str);//□
}
void sumStr(char* str){
*str ="a";
}
int sumNum(int * num){
*num=*num+12;
return 0;
}
なぜ変数strの出力が"a"と表示されないのですか?
{
int a;
a=1;
sumNum(&a);
printf("%d\n",a);//13
char str;
sumStr(&str);
printf("%c\n",str);//□
}
void sumStr(char* str){
*str ="a";
}
int sumNum(int * num){
*num=*num+12;
return 0;
}
なぜ変数strの出力が"a"と表示されないのですか?
642愛知人
2018/02/01(木) 15:48:38.02 "a"は{'a', '\0'}へのポインタ
'a'は文字のa
'a'は文字のa
643デフォルトの名無しさん (ササクッテロル Spcb-ysY+)
2018/02/01(木) 17:36:23.15ID:qwq0+wbXp 型違うって警告出るだろこれ。
644デフォルトの名無しさん (ワッチョイ 9fbb-KBTD)
2018/02/01(木) 18:02:04.83ID:qri+5ZQ+0 "a"はポインタじゃないぞ
printf("%u", sizeof "a"); //2
const char *p;
p = &"a"; //ill-formed
p = &"a"[0]; //well-formed
'a'はint型の0x41もしくは0xc1だ
printf("%u", sizeof "a"); //2
const char *p;
p = &"a"; //ill-formed
p = &"a"[0]; //well-formed
'a'はint型の0x41もしくは0xc1だ
645デフォルトの名無しさん (ワッチョイ 9f37-j4Dg)
2018/02/01(木) 18:06:30.20ID:sLGIVvbi0646愛知人
2018/02/01(木) 18:41:02.74 >>644
仮に文字列リテラルの式の値の型がポインタじゃないとして、それらが何故その根拠になるのか分かりません(>_<)
仮に文字列リテラルの式の値の型がポインタじゃないとして、それらが何故その根拠になるのか分かりません(>_<)
647デフォルトの名無しさん (スップ Sd3f-qmJt)
2018/02/01(木) 18:42:24.84ID:4qOh33SSd648デフォルトの名無しさん (ワッチョイ 97b3-C7gl)
2018/02/01(木) 18:46:32.22ID:7vK6yiTU0 "a"+1; セーフ
"a"++; 文法エラー
"a"++; 文法エラー
649愛知人
2018/02/01(木) 18:48:48.23 >>648
文字列リテラルは定数なのでそれは分かります(>_<)
文字列リテラルは定数なのでそれは分かります(>_<)
650デフォルトの名無しさん (ワッチョイ 97b3-C7gl)
2018/02/01(木) 19:02:17.43ID:7vK6yiTU0 char a[] = "A";
a+1 セーフ
a++ これも文法エラー ポインタならばこれは通るけど、配列では無理
a+1 セーフ
a++ これも文法エラー ポインタならばこれは通るけど、配列では無理
651愛知人
2018/02/01(木) 19:08:28.37 ポインタ変数にリテラルを代入した場合は...?(>_<)
652デフォルトの名無しさん (ワッチョイ 9fbb-KBTD)
2018/02/01(木) 19:09:19.81ID:qri+5ZQ+0 >>646
面倒くせえやつだな
const char *p;
printf("%u", sizeof p); //4
const char (*q)[2];
q = &"a"; //well-formed
q = &a[0]; //ill-formed
面倒くせえやつだな
const char *p;
printf("%u", sizeof p); //4
const char (*q)[2];
q = &"a"; //well-formed
q = &a[0]; //ill-formed
653デフォルトの名無しさん (ワッチョイ 9fbb-KBTD)
2018/02/01(木) 19:10:10.23ID:qri+5ZQ+0654デフォルトの名無しさん (ワッチョイ 9fbb-KBTD)
2018/02/01(木) 19:10:59.81ID:qri+5ZQ+0655愛知人
2018/02/01(木) 19:16:30.75 >>652 ?ʕ•ᴥ•ʔ?
656デフォルトの名無しさん (ワッチョイ 97b3-C7gl)
2018/02/01(木) 19:17:57.92ID:7vK6yiTU0 >>653
あーーー ありがとう
あーーー ありがとう
657愛知人
2018/02/01(木) 19:18:03.81658デフォルトの名無しさん (アウアウウー Sa5b-wbgk)
2018/02/01(木) 21:16:29.83ID:bg4M2KC6a >>640
void sumStr(char* str){
*str ="a";
}
これ、strはcherのポインタでありその指す先はchar型だ。
"a"は 'a', '\0' と並んで入っている先を指すポインタだ。
*str は char 型で、"a" は char * 型だ。型が違う。
これが例えば *str = 'a'; だったり、あるいは *str = *"a"; だったりすれば型も一致するし目的の値の代入に成功するだろう。
(まあしかし普通は *str = *"a"; なんて書き方しないけどな)。
void sumStr(char* str){
*str ="a";
}
これ、strはcherのポインタでありその指す先はchar型だ。
"a"は 'a', '\0' と並んで入っている先を指すポインタだ。
*str は char 型で、"a" は char * 型だ。型が違う。
これが例えば *str = 'a'; だったり、あるいは *str = *"a"; だったりすれば型も一致するし目的の値の代入に成功するだろう。
(まあしかし普通は *str = *"a"; なんて書き方しないけどな)。
659デフォルトの名無しさん (ワッチョイ ff80-g5j1)
2018/02/01(木) 21:49:26.76ID:iw8YX/Ps0 詳説 Cポインタ、2013、オライリー・ジャパン
ポインタの仕様だけで、本が1冊書けるw
どんなに面倒くさい言語やねんw
ポインタの仕様だけで、本が1冊書けるw
どんなに面倒くさい言語やねんw
>>659
そんなにネタはないと思うが、いったいどんな本なんだろう?
そんなにネタはないと思うが、いったいどんな本なんだろう?
661659 (ワッチョイ ff80-g5j1)
2018/02/01(木) 23:02:59.65ID:iw8YX/Ps0 ポインタ・文字列を、図解して説明している
"abc" なら、"abc\0" みたいに4バイトになるとか
"abc" なら、"abc\0" みたいに4バイトになるとか
662デフォルトの名無しさん (ワッチョイ d78a-IOOI)
2018/02/01(木) 23:14:57.10ID:3G6Lk4x40 >>645
書きやすいかどうかは分からないが、VisualStudioだとこんな感じで警告どころかエラーでビルドに失敗する(C++プログラムとしてだけど)
正確にはビルドするまでもなく、コーディング段階で赤色の波下線で警告表示されるのでそれ以前に問題に気付く
https://i.imgur.com/6MLycv2.png
書きやすいかどうかは分からないが、VisualStudioだとこんな感じで警告どころかエラーでビルドに失敗する(C++プログラムとしてだけど)
正確にはビルドするまでもなく、コーディング段階で赤色の波下線で警告表示されるのでそれ以前に問題に気付く
https://i.imgur.com/6MLycv2.png
663デフォルトの名無しさん (アウアウカー Sa2b-aMCL)
2018/02/02(金) 04:42:35.12ID:bE08TqYTa664デフォルトの名無しさん (アウアウカー Sa2b-aMCL)
2018/02/02(金) 04:43:10.36ID:bE08TqYTa すまんアンカー間違えた
665デフォルトの名無しさん (アウアウウー Sa5b-PbGO)
2018/02/02(金) 10:31:00.77ID:zvMv78jDa C能力検定てやる価値あるかな
666デフォルトの名無しさん (アウアウウー Sa5b-wbgk)
2018/02/03(土) 01:07:56.65ID:uJsu8afca これからC言語始めます自分で色々と調べたけっかこの2つが残りました
どちらがいいでしょうか?アドバイス下さい。それやめとけなんて話もあればお聞かせ下さい
1,「C言語プログラミング」(ハーベイ・M. ダイテル/ポール・J. ダイテル 、ピアソン)
2,プログラミング言語C 第2版 ANSI規格準拠 B.W. カーニハン (著),? D.M. リッチー
どちらがいいでしょうか?アドバイス下さい。それやめとけなんて話もあればお聞かせ下さい
1,「C言語プログラミング」(ハーベイ・M. ダイテル/ポール・J. ダイテル 、ピアソン)
2,プログラミング言語C 第2版 ANSI規格準拠 B.W. カーニハン (著),? D.M. リッチー
667デフォルトの名無しさん (アウアウエー Sadf-EZPO)
2018/02/03(土) 04:53:07.36ID:pNC8Ba1va gcc
668デフォルトの名無しさん (ワッチョイ ff80-g5j1)
2018/02/03(土) 06:09:55.21ID:5C9YCfZr0 巨匠の柴田望洋・林 晴比古とか、
「猫でもわかるC言語プログラミング 第3版」粂井(くめい)康孝、2013
古い本だと、例題の開発環境が古いから、動かせないだろ
「c言語 入門書 おすすめ」で検索!
「猫でもわかるC言語プログラミング 第3版」粂井(くめい)康孝、2013
古い本だと、例題の開発環境が古いから、動かせないだろ
「c言語 入門書 おすすめ」で検索!
669デフォルトの名無しさん (アウウィフ FF5b-aShi)
2018/02/03(土) 09:36:31.00ID:qWVkS+EsF 林晴比古はいまいち
670デフォルトの名無しさん (ワッチョイ 57b3-iQWu)
2018/02/03(土) 10:38:20.76ID:zCLT35Li0671デフォルトの名無しさん (ワッチョイ 77c9-VW3n)
2018/02/03(土) 12:45:56.09ID:YTn5lucX0 ちょっと教えてくらさい。
最近Cを書くことが多くなったんですけど
#include <Includes/General.h>
#include "Includes/General.h"
これって、本来の動作的に厳密には何か違いがあるんですか?
最近Cを書くことが多くなったんですけど
#include <Includes/General.h>
#include "Includes/General.h"
これって、本来の動作的に厳密には何か違いがあるんですか?
672デフォルトの名無しさん (ワッチョイ f723-EZPO)
2018/02/03(土) 13:15:26.42ID:5gvBi6mQ0 カレントディレクトリ
と
-I
の優先順
と
-I
の優先順
673デフォルトの名無しさん (ワッチョイ 179d-duq4)
2018/02/03(土) 13:23:39.69ID:iWk8ZVwf0 >>671
#include <> はコンパイル環境指定のインクルードディレクトリから探索
#include "" はインクルードしたファイルのあるローカルディレクトリを先に探索してから環境のインクルードディレクトリを探索
つまり自分で今作ってるプログラムのヘッダファイルは#include ""を使わないと他人の同名のファイルをインクルードするかも知れない。
#include <> はコンパイル環境指定のインクルードディレクトリから探索
#include "" はインクルードしたファイルのあるローカルディレクトリを先に探索してから環境のインクルードディレクトリを探索
つまり自分で今作ってるプログラムのヘッダファイルは#include ""を使わないと他人の同名のファイルをインクルードするかも知れない。
674デフォルトの名無しさん (ワッチョイ 77c9-r4To)
2018/02/03(土) 14:54:39.21ID:YTn5lucX0675デフォルトの名無しさん (ワッチョイ bfe7-YYog)
2018/02/03(土) 16:02:06.27ID:nCFMN0sb0 本当はコーディングルールから学ぶと良いが書ける人はとても忙しいので本がない。
676デフォルトの名無しさん (ワッチョイ 179f-A9+C)
2018/02/03(土) 17:23:23.11ID:VDv79Nx+0 >>666
1は知らんけど2は絶対に読んだほうが良い本だと思うよ。
1は知らんけど2は絶対に読んだほうが良い本だと思うよ。
677デフォルトの名無しさん (エムゾネ FFbf-aShi)
2018/02/03(土) 17:52:24.85ID:8pdQs/78F 読むなら訳本じゃなくて原著
678デフォルトの名無しさん (ワッチョイ 9793-8kmj)
2018/02/03(土) 18:31:46.16ID:nLGH3QTp0 初心者脱出できる本教えて
679デフォルトの名無しさん (エムゾネ FFbf-EZPO)
2018/02/03(土) 19:06:23.67ID:VzdMwW3vF いくら本読んでも本に頼ってるうちは初心者
書いて書いて書きまくってエラー出しまくって経験積め
書いて書いて書きまくってエラー出しまくって経験積め
680デフォルトの名無しさん (スップ Sd3f-qmJt)
2018/02/03(土) 19:16:40.14ID:23ehB4hAd681デフォルトの名無しさん (ワッチョイ bf37-27VS)
2018/02/03(土) 19:17:34.81ID:O3yJsiXS0 入門はISO C11でも読めばいいんじゃね
682デフォルトの名無しさん (アウアウウー Sa5b-PbGO)
2018/02/04(日) 08:22:58.16ID:K2Xf+RS7a >>168
このセリフは10年前にも言えたことだな
このセリフは10年前にも言えたことだな
683デフォルトの名無しさん (ワッチョイ bfe7-YYog)
2018/02/04(日) 08:54:40.33ID:8x/2YGfJ0 トリッキーなコード書いて自滅するな。
684デフォルトの名無しさん (ワイモマー MM5b-Rd6c)
2018/02/04(日) 11:15:43.36ID:snv+Mm9gM >>168
トイプログラムはそうなるかもな。
トイプログラムはそうなるかもな。
685デフォルトの名無しさん (ワッチョイ d7c3-YYog)
2018/02/04(日) 12:44:06.41ID:TVUXtLT70 初心者です。参考書を読んで勉強していたのですが
「浮動小数点数の利点は、一定の有効桁数(精度)の範囲内で、小さな数から大きな数まで表現できることです」(分かりやすいC入門編:川場隆)
とあったのですが、どういう意味か分かりま出んでした。
ネットで調べても同じようなことしか書いてなくて。浮動小数点数の利点を教えてください。
「浮動小数点数の利点は、一定の有効桁数(精度)の範囲内で、小さな数から大きな数まで表現できることです」(分かりやすいC入門編:川場隆)
とあったのですが、どういう意味か分かりま出んでした。
ネットで調べても同じようなことしか書いてなくて。浮動小数点数の利点を教えてください。
686デフォルトの名無しさん (アウウィフ FF5b-EZPO)
2018/02/04(日) 12:49:52.12ID:D/BHnVHFF 利点と欠点が同時に書かれてるな
687デフォルトの名無しさん (ワッチョイ 57b3-iQWu)
2018/02/04(日) 12:53:55.66ID:9kHA/gVX0688デフォルトの名無しさん (ワッチョイ ffd7-wbgk)
2018/02/04(日) 13:03:24.65ID:WecC8o2P0689デフォルトの名無しさん (ワッチョイ d7c3-YYog)
2018/02/04(日) 13:24:01.43ID:TVUXtLT70690デフォルトの名無しさん (ワッチョイ d78a-IOOI)
2018/02/04(日) 13:26:59.75ID:mpGHvQVh0 0.000000000123 = 1.23e10
691デフォルトの名無しさん (ワッチョイ d78a-IOOI)
2018/02/04(日) 13:29:05.43ID:mpGHvQVh0 間違えた
0.000000000123 = 1.23e-10
0.000000000123 = 1.23e-10
692デフォルトの名無しさん (ワッチョイ 57b3-iQWu)
2018/02/04(日) 13:30:24.68ID:9kHA/gVX0693デフォルトの名無しさん (ワッチョイ 57b3-iQWu)
2018/02/04(日) 13:36:20.20ID:9kHA/gVX0 二進数32ビットで123,000,000,000は表せないけど、
32ビットを符号部、指数部、仮数部に分けると表現できる。
有効桁数は仮数部のビット数で決まる。
32ビットを符号部、指数部、仮数部に分けると表現できる。
有効桁数は仮数部のビット数で決まる。
694デフォルトの名無しさん (ワッチョイ ff80-g5j1)
2018/02/04(日) 13:40:30.68ID:ue7FPdZ+0 例えば、8ビットなら、2^8 通り、0〜255 しか表現できない
それを5ビットにして、残りの3ビットを桁をずらす機能にすると、
2^5 通り、0〜31 しか表現できないけど、
残りの3ビットで、0〜7 を表現できるので、それをずらす桁とすると、
7桁ずらせば、310,000,000 を表現できる
だから精度は減ったけど、桁をずらせるようになったから、
非常に小さな数や、大きな数を表現できる
桁をずらす部分は、指数部という。
実際には、10進数ではなく、2進数でずらしていく
それを5ビットにして、残りの3ビットを桁をずらす機能にすると、
2^5 通り、0〜31 しか表現できないけど、
残りの3ビットで、0〜7 を表現できるので、それをずらす桁とすると、
7桁ずらせば、310,000,000 を表現できる
だから精度は減ったけど、桁をずらせるようになったから、
非常に小さな数や、大きな数を表現できる
桁をずらす部分は、指数部という。
実際には、10進数ではなく、2進数でずらしていく
695デフォルトの名無しさん (ワイモマー MMbf-aajP)
2018/02/04(日) 13:43:30.54ID:uz8VZN5uM 初心者質問おねがいします。
二つのunsigned char型があり、
一つ目が 0b10001000 で、
二つ目が 0b01110111 です。
これを合わせて 0b10001000 となる計算式はどうすればいいですか?
よろしくおねがいします。
二つのunsigned char型があり、
一つ目が 0b10001000 で、
二つ目が 0b01110111 です。
これを合わせて 0b10001000 となる計算式はどうすればいいですか?
よろしくおねがいします。
696デフォルトの名無しさん (ワッチョイ f7a7-iPrh)
2018/02/04(日) 13:49:58.29ID:lzMLg/n40 >>695
希望の結果が1つ目の値そのままのように見えるが
希望の結果が1つ目の値そのままのように見えるが
697デフォルトの名無しさん (ワッチョイ 1781-hxSR)
2018/02/04(日) 13:56:57.78ID:B901qm/S0 一つ目をそのまま代入すればよろしいかと
698デフォルトの名無しさん (ワイモマー MMbf-aajP)
2018/02/04(日) 13:59:02.90ID:uz8VZN5uM >>696
すみません。
説明不足でした。
二つ目のchar型は刻々と変化するので、一つ目のchar型の各ビットを二つ目の各ビットが変わったら
そのビットだけ反転させたいのです。
よろしくお願い致します
すみません。
説明不足でした。
二つ目のchar型は刻々と変化するので、一つ目のchar型の各ビットを二つ目の各ビットが変わったら
そのビットだけ反転させたいのです。
よろしくお願い致します
699デフォルトの名無しさん (ワッチョイ d78a-IOOI)
2018/02/04(日) 14:06:52.59ID:mpGHvQVh0 >>698
直前の値とのEXORを取れば変化ビットだけ抽出はできるけど、それとは別に何かのマスクを掛けたいということ?
直前の値とのEXORを取れば変化ビットだけ抽出はできるけど、それとは別に何かのマスクを掛けたいということ?
700デフォルトの名無しさん (ワイモマー MMbf-aajP)
2018/02/04(日) 14:13:06.96ID:uz8VZN5uM >699
すみません。
超初心者なのでマスクとかよくわからないです。
単純に、一つ目のchar型の各ビットを二つ目のchar型の各ビットが変化したらそのビットだけ反転させたいだけです。
すみません。
超初心者なのでマスクとかよくわからないです。
単純に、一つ目のchar型の各ビットを二つ目のchar型の各ビットが変化したらそのビットだけ反転させたいだけです。
701デフォルトの名無しさん (ワッチョイ 57b3-iQWu)
2018/02/04(日) 14:16:40.27ID:9kHA/gVX0702デフォルトの名無しさん (ワイモマー MMbf-aajP)
2018/02/04(日) 14:25:23.15ID:uz8VZN5uM >>701
すみません
こんな感じでわかりますか?
一つ目の初期値 0b11010110
二つ目の初期値 0b01001011
二つ目が0b01001010に変化
↓
一つ目が0b11010111に変化させたい
二つ目 0b01001010
すみません
こんな感じでわかりますか?
一つ目の初期値 0b11010110
二つ目の初期値 0b01001011
二つ目が0b01001010に変化
↓
一つ目が0b11010111に変化させたい
二つ目 0b01001010
703デフォルトの名無しさん (ワイモマー MMbf-aajP)
2018/02/04(日) 14:27:02.24ID:uz8VZN5uM もう一例です
一つ目の初期値 0b11010110
二つ目の初期値 0b01001011
二つ目が0b010000111に変化
↓
一つ目が0b11011110に変化させたい
一つ目の初期値 0b11010110
二つ目の初期値 0b01001011
二つ目が0b010000111に変化
↓
一つ目が0b11011110に変化させたい
704デフォルトの名無しさん (ワッチョイ 57b3-iQWu)
2018/02/04(日) 14:27:32.63ID:9kHA/gVX0705デフォルトの名無しさん (ワイモマー MMbf-aajP)
2018/02/04(日) 14:28:16.45ID:uz8VZN5uM すみません
>>702の最期の行は不要です
>>702の最期の行は不要です
706デフォルトの名無しさん (ワイモマー MMbf-aajP)
2018/02/04(日) 14:30:17.33ID:uz8VZN5uM707デフォルトの名無しさん (ブーイモ MMcf-OTNK)
2018/02/04(日) 14:34:23.14ID:dDFDgXmuM708デフォルトの名無しさん (ワッチョイ 57b3-iQWu)
2018/02/04(日) 14:35:53.94ID:9kHA/gVX0 >>706
だれがビット単位で操作するしかないと言ったの?
だれがビット単位で操作するしかないと言ったの?
709デフォルトの名無しさん (ワイモマー MMbf-aajP)
2018/02/04(日) 14:40:21.25ID:uz8VZN5uM710デフォルトの名無しさん (ワッチョイ d78a-IOOI)
2018/02/04(日) 15:00:01.65ID:mpGHvQVh0 >>709
イメージとしては、二つ目の変数の変化をEXORで抽出しながら変更用マスクを作成
そのマスクで一つ目の変数と再度EXOR演算、これで二つ目の変更ビット個所だけ一つ目のビットが反転する
ざっくりとした流れはこんな感じ
一つ目の値(状態)a、二つ目の値(入力)b、入力比較用変数c、変更ビットマスクd
c = input(b);
while(1) {
d = c ^ input(b);
c = b;
a ^= d;
}
イメージとしては、二つ目の変数の変化をEXORで抽出しながら変更用マスクを作成
そのマスクで一つ目の変数と再度EXOR演算、これで二つ目の変更ビット個所だけ一つ目のビットが反転する
ざっくりとした流れはこんな感じ
一つ目の値(状態)a、二つ目の値(入力)b、入力比較用変数c、変更ビットマスクd
c = input(b);
while(1) {
d = c ^ input(b);
c = b;
a ^= d;
}
711デフォルトの名無しさん (ワッチョイ 9793-d/ts)
2018/02/04(日) 15:18:24.98ID:tHspdphL0 ちょっと整頓させてくれ。
>>702 の場合
二つ目の unsigned char
01001011 ... 最初の値
01001010 ... 新しい値
00000001 ... 変化したビット
一つ目の unsigned char
11010110 ... 最初の値
11010111 ... 二つ目の unsigned char の変化にともない新たに取るべき値
00000001 ... 変化したビット (二つ目の unsigined char の変化したビットと等しい)
>>703 の場合
二つ目が0b010000111に変化 ... ビット数が増えとるやん!
>>710 の言う通り「二つ目」のビット変化をexor(^演算子)で抽出した結果を
「一つ目」のビットに作用させれば良さそうだけど、
「二つ目」のビットが1から0に変化したときには「一つ目」にはどう反映させたいの?
>>702 の場合
二つ目の unsigned char
01001011 ... 最初の値
01001010 ... 新しい値
00000001 ... 変化したビット
一つ目の unsigned char
11010110 ... 最初の値
11010111 ... 二つ目の unsigned char の変化にともない新たに取るべき値
00000001 ... 変化したビット (二つ目の unsigined char の変化したビットと等しい)
>>703 の場合
二つ目が0b010000111に変化 ... ビット数が増えとるやん!
>>710 の言う通り「二つ目」のビット変化をexor(^演算子)で抽出した結果を
「一つ目」のビットに作用させれば良さそうだけど、
「二つ目」のビットが1から0に変化したときには「一つ目」にはどう反映させたいの?
712デフォルトの名無しさん (ワッチョイ ffe4-TMol)
2018/02/04(日) 15:33:13.79ID:F4VHcN9w0713デフォルトの名無しさん (ワッチョイ 179f-wbgk)
2018/02/04(日) 15:44:44.53ID:fXO59JwO0 まずはやりたいことを普通の日本語で書け。
714デフォルトの名無しさん (アウアウウー Sa5b-XQ4T)
2018/02/04(日) 16:06:39.05ID:+JRK6ay6a 1001110
1101001
1101000
1101111
1101110
1100111
1101111
0100000
1100100
1100101
0100000
1001111
1001011
1101001
1101000
1101111
1101110
1100111
1101111
0100000
1100100
1100101
0100000
1001111
1001011
715デフォルトの名無しさん (ワッチョイ 179f-wbgk)
2018/02/04(日) 16:57:20.23ID:fXO59JwO0 こ、こうか・・・
1001110 N
1101001 i
1101000 h
1101111 o
1101110 n
1100111 g
1101111 o
0100000
1100100 d
1100101 e
0100000
1001111 O
1001011 K
1001110 N
1101001 i
1101000 h
1101111 o
1101110 n
1100111 g
1101111 o
0100000
1100100 d
1100101 e
0100000
1001111 O
1001011 K
716デフォルトの名無しさん (ワッチョイ 97b3-C7gl)
2018/02/04(日) 17:03:35.16ID:NeQWIMjc0 2つめ着目ビットが 0 -> 1 となったとき 1つめ対象ビットを 反転/0/1 にする
2つめ着目ビットが 1 -> 0 となったとき 1つめ対象ビットを 反転/0/1 にする
0->1 でも 1->0 でも 1つめ対象ビットを反転すればいいのけ?
new_1st = old_1st ^ (old_2nd ^ new_2nd);
2つめ着目ビットが 1 -> 0 となったとき 1つめ対象ビットを 反転/0/1 にする
0->1 でも 1->0 でも 1つめ対象ビットを反転すればいいのけ?
new_1st = old_1st ^ (old_2nd ^ new_2nd);
717デフォルトの名無しさん (ワッチョイ ffe4-TMol)
2018/02/04(日) 18:21:03.27ID:F4VHcN9w0718デフォルトの名無しさん (アークセー Sxcb-/IWG)
2018/02/04(日) 22:32:58.82ID:ZlHMYtZlx 全くの初心者です。
「2の3乗を求める」という計算プログラムを勉強しています。
最終的には3^1024を求めたいのですが。
ネットで見ていると30乗ぐらいまではプログラムがあるのですが
1024乗ぐらいになると難易度的に難しくなるのでしょうか?
「2の3乗を求める」という計算プログラムを勉強しています。
最終的には3^1024を求めたいのですが。
ネットで見ていると30乗ぐらいまではプログラムがあるのですが
1024乗ぐらいになると難易度的に難しくなるのでしょうか?
719デフォルトの名無しさん (ワッチョイ 57b3-iQWu)
2018/02/04(日) 22:50:53.35ID:9kHA/gVX0720片山博文MZ ◆T6xkBnTXz7B0 (スププ Sdbf-vcz1)
2018/02/04(日) 23:03:25.92ID:i7yJvuTcd 多倍長演算か、筆算するしかない。
721デフォルトの名無しさん (ワッチョイ 9fb3-mP5N)
2018/02/04(日) 23:07:38.36ID:88eIJAAv0722デフォルトの名無しさん (ワッチョイ 9f0c-wbgk)
2018/02/04(日) 23:20:52.68ID:dMpklRXW0 DOSで4000桁の電卓つくるにはって考えてたことあったな。
>>718
自力でどうにか解決できたらプログラミングの力がつくよ、がんばって!
自力でどうにか解決できたらプログラミングの力がつくよ、がんばって!
724デフォルトの名無しさん (ワッチョイ ffd7-wbgk)
2018/02/05(月) 00:05:03.48ID:GuU0avOk0 >>718
GMPというフリーのライブラリを使えば3^1024は簡単に求まるぞ
GMPというフリーのライブラリを使えば3^1024は簡単に求まるぞ
725デフォルトの名無しさん (ワッチョイ 57b3-iQWu)
2018/02/05(月) 00:05:41.82ID:atUOEIz80 BCD(二進化十進)ライブラリを拾ってくるのが汚れた大人だけど、
若者は勉強のためにBCDライブラリを作ってみては?
若者は勉強のためにBCDライブラリを作ってみては?
726デフォルトの名無しさん (ワッチョイ 57b3-iQWu)
2018/02/05(月) 00:06:32.23ID:atUOEIz80 おっと、更新せずに書き込んだらこんなことに(笑)
>>725
10進の世界を前提に計算するのは、メリットがよくわからないんですが
10進の世界を前提に計算するのは、メリットがよくわからないんですが
728愛恥人
2018/02/05(月) 01:36:30.57 10進じゃないと0.1が無限に数字が続くらしい
よく分からんけど
よく分からんけど
730デフォルトの名無しさん (ワッチョイ 9f0c-wbgk)
2018/02/05(月) 01:40:54.20ID:cqMdaOnR0 効率よく2進値を10進表記するアルゴリズムが思いつくならメリット無いかもな。
731デフォルトの名無しさん (ワッチョイ 1781-hxSR)
2018/02/05(月) 01:47:14.45ID:zlSI53sS0 とりあえず質問者の意図にそって
多倍長整数演算と言うことに絞ろう
多倍長整数演算と言うことに絞ろう
732デフォルトの名無しさん (ワッチョイ ffea-C7gl)
2018/02/05(月) 08:31:52.64ID:QaNROXZC0 結果を可視化するときにBCDだと楽
733デフォルトの名無しさん (ワッチョイ ffd7-wbgk)
2018/02/05(月) 10:06:47.08ID:GuU0avOk0 16進ダンプしたとき読みやすい
それだけ
3増し符号とか使ってたやついる?
それだけ
3増し符号とか使ってたやついる?
734デフォルトの名無しさん (アウアウカー Sa2b-gGCH)
2018/02/05(月) 12:29:13.25ID:cbvE2oU2a 3進数なら歯切れの良い数なんだけどな・・・
735デフォルトの名無しさん (ワッチョイ 97a1-+DFt)
2018/02/05(月) 15:20:22.81ID:vN182Yvh0 >729
COBOLはBCDを使っているはず、
COBOLはBCDを使っているはず、
736デフォルトの名無しさん (ワッチョイ 179d-jn1r)
2018/02/05(月) 20:03:34.68ID:GlpP/XMd0 >すると、BCD の意義がよくわからないのです
科学技術計算は浮動小数点でいいが、リアルなお金の計算とかでは10進で計算するのがディフォールト
2進と10進では結果が大幅にちやうから。
ま俺の財産なら誤差0.1円くらいかもしれんが、、
科学技術計算は浮動小数点でいいが、リアルなお金の計算とかでは10進で計算するのがディフォールト
2進と10進では結果が大幅にちやうから。
ま俺の財産なら誤差0.1円くらいかもしれんが、、
737デフォルトの名無しさん (スップ Sd3f-qmJt)
2018/02/05(月) 21:30:58.83ID:jWi5SYZhd いま必死に考えてる
昔のCPUは絶対に持っていた機能だ
レジスタが8ビットだとすると、256以上のデータが表現できなくなるけど、そんなことはない
だから何か仕組みがあるはず
プログラマが勝手にこのビットが立ったら2の15乗だとか自由に決めて、8ビビットの重み付けをしてるんだとおもう
あとは計算と結果の表現次第だ
指数法則を使えばできそうだけど、これはなかなか面白い課題だね
昔のCPUは絶対に持っていた機能だ
レジスタが8ビットだとすると、256以上のデータが表現できなくなるけど、そんなことはない
だから何か仕組みがあるはず
プログラマが勝手にこのビットが立ったら2の15乗だとか自由に決めて、8ビビットの重み付けをしてるんだとおもう
あとは計算と結果の表現次第だ
指数法則を使えばできそうだけど、これはなかなか面白い課題だね
738愛恥人
2018/02/05(月) 21:36:06.47 ググれよw
739デフォルトの名無しさん (ワッチョイ 9f0c-wbgk)
2018/02/05(月) 21:47:00.70ID:cqMdaOnR0 ADD HL,BC
740デフォルトの名無しさん (ワッチョイ 57b3-iQWu)
2018/02/05(月) 22:00:56.57ID:atUOEIz80 ゼッパチ(笑)
741デフォルトの名無しさん (ワッチョイ f7a7-iPrh)
2018/02/05(月) 22:04:10.39ID:/FiCbPih0 >>741
C で多桁長計算を記述するときは、キャリーフラグという便利なものが使えないので、いちいちマスクしたり、と苦労しますね
http://mevius.2ch.net/test/read.cgi/tech/1434079972/28
C で書かないほうが楽で記述量も少ないかもしれない
>>718 は初学者には無理かもしれません
C で多桁長計算を記述するときは、キャリーフラグという便利なものが使えないので、いちいちマスクしたり、と苦労しますね
http://mevius.2ch.net/test/read.cgi/tech/1434079972/28
C で書かないほうが楽で記述量も少ないかもしれない
>>718 は初学者には無理かもしれません
743デフォルトの名無しさん (ワッチョイ d7d2-VW3n)
2018/02/05(月) 22:15:51.73ID:bjLIcRum0 【有賀さつき(52)小林麻央(34)黒木奈々(32)】 世界教師 マイトLーヤ「早死には原発事故の隠蔽のせい」
http://rosie.5ch.net/test/read.cgi/liveplus/1517828233/l50
http://rosie.5ch.net/test/read.cgi/liveplus/1517828233/l50
744デフォルトの名無しさん (ワッチョイ 9fe1-pzKJ)
2018/02/05(月) 22:26:42.74ID:7nDvhhdf0 アセンブラだと当たり前のようにキャリーフラグを見るけど
高級言語だとキャリーフラグを活用してるのは皆無じゃないかと
思えてくるのが悲しい
高級言語だとキャリーフラグを活用してるのは皆無じゃないかと
思えてくるのが悲しい
745デフォルトの名無しさん (ワッチョイ 9fb3-mP5N)
2018/02/05(月) 22:57:52.16ID:BWargw5G0746デフォルトの名無しさん (スップ Sd3f-qmJt)
2018/02/05(月) 23:32:47.33ID:jWi5SYZhd I/Oがメモリにマッピングされてるんだから見れると思ってる
ぼくはそういうプログラミングがしたい
ぼくはそういうプログラミングがしたい
747デフォルトの名無しさん (ワッチョイ 57b3-iQWu)
2018/02/05(月) 23:40:30.69ID:atUOEIz80 Reno版のカーネルのソース読んだとき、
VAXのHDDのドライバが分かりやすくてビビった。
メモリマップドI/Oだた。
VAXのHDDのドライバが分かりやすくてビビった。
メモリマップドI/Oだた。
748デフォルトの名無しさん (アウアウカー Sa2b-8kmj)
2018/02/06(火) 00:21:47.60ID:i0KhUh5Ha ここの人達ってOpaqueポインタとか使ってます?
749デフォルトの名無しさん (アークセー Sxcb-/IWG)
2018/02/06(火) 00:31:17.27ID:WaNrl6wPx とりあえず本買ってきて読んでいます。3月末ぐらいにはなんとか結果を出したい・・・
750デフォルトの名無しさん (アークセー Sxcb-/IWG)
2018/02/06(火) 00:37:33.65ID:WaNrl6wPx とりあえずプログラム初心者だが将来有望な頭脳をもった奴を
2人ほど用意した・・・。
2人ほど用意した・・・。
751デフォルトの名無しさん (ワッチョイ 179f-gGCH)
2018/02/06(火) 01:36:11.08ID:FVXSsnAc0752デフォルトの名無しさん (ワッチョイ 179f-gGCH)
2018/02/06(火) 01:43:46.77ID:FVXSsnAc0 >>748
滅多に使わない。
滅多に使わない。
753デフォルトの名無しさん
2018/02/06(火) 04:19:56.87 >>748
実ソースではvoidポインタしか見たことない
実ソースではvoidポインタしか見たことない
754デフォルトの名無しさん (エムゾネ FFbf-EZPO)
2018/02/06(火) 13:31:15.57ID:HnlXhHfVF 3進数用にBCD3を定義する
1桁を2進数2bitで表現して
最下位桁の次に2bitのエンドコード11を付与する
例えば
0=00 11
1=01 11
2=10 11
3=01 00 11
4=01 01 11
5=01 10 11
6=10 00 11
7=10 01 11
8=10 10 11
9=01 00 00 11
...
3^1024=01 00 00 ...(00 が1020個(左右に書いたもの含めると1024個))... 00 00 11
1桁を2進数2bitで表現して
最下位桁の次に2bitのエンドコード11を付与する
例えば
0=00 11
1=01 11
2=10 11
3=01 00 11
4=01 01 11
5=01 10 11
6=10 00 11
7=10 01 11
8=10 10 11
9=01 00 00 11
...
3^1024=01 00 00 ...(00 が1020個(左右に書いたもの含めると1024個))... 00 00 11
755デフォルトの名無しさん (ワッチョイ 9793-d/ts)
2018/02/06(火) 17:23:11.09ID:f2WbB5Mw0 >>754 議論の本質から逸れた混ぜ返しになるけど、
BCD が 二進化十進数 binary coded decimal の略なら、
3進数の場合は binary coded tricimal で BCT ではないかしら。
3進数が tricimal なのか、ちょいと自信がないけど、
とりあえずネット検索でヒットする言葉みたい。
BCD が 二進化十進数 binary coded decimal の略なら、
3進数の場合は binary coded tricimal で BCT ではないかしら。
3進数が tricimal なのか、ちょいと自信がないけど、
とりあえずネット検索でヒットする言葉みたい。
756デフォルトの名無しさん (JP 0Hab-465M)
2018/02/06(火) 17:37:36.42ID:vr+u4qHrH ternaryだよ
757デフォルトの名無しさん (ワッチョイ ffd7-wbgk)
2018/02/06(火) 17:38:13.02ID:CtmFRYuD0 BiCMOS TTL compatible
758デフォルトの名無しさん (エムゾネ FFbf-EZPO)
2018/02/06(火) 17:46:17.35ID:b1TJyJggF >>755
BC3でいいよもう
BC3でいいよもう
759755 (ワッチョイ 9793-d/ts)
2018/02/06(火) 19:06:57.63ID:f2WbB5Mw0760デフォルトの名無しさん (ワッチョイ 57b3-iQWu)
2018/02/06(火) 19:11:28.74ID:Yrf3PZ3s0 取り締まり頑張ってね
761片山博文MZ ◆T6xkBnTXz7B0 (スププ Sdbf-vcz1)
2018/02/06(火) 19:38:09.83ID:c7ouIjcHd 取締役なのか、パトロールなのか。。。
762デフォルトの名無しさん (JP 0Hab-465M)
2018/02/06(火) 21:27:30.96ID:vr+u4qHrH tricimal→取り締まるかよ
763デフォルトの名無しさん (ササクッテロル Spcb-ysY+)
2018/02/06(火) 21:57:22.67ID:mQkuTV46p 最近のbooleanがヌルも扱えるから三進数?
764デフォルトの名無しさん (ブーイモ MMdb-465M)
2018/02/07(水) 00:06:04.12ID:9RlVVxZwM 従来のbooleanの変数が1個だけあっても、2進数とは呼ばんだろ。
765デフォルトの名無しさん (スップ Sdbf-Md37)
2018/02/07(水) 00:41:24.75ID:J2C0nRVPd それに当てはまるのは二値論理・三値論理だ
766デフォルトの名無しさん
2018/02/07(水) 07:37:48.03 2進数なら無駄なく表せるけど
struct {
bool b1:1;
bool b2:1;
bool b3:1;
bool b4:1;
bool b5:1;
bool b6:1;
bool b7:1;
bool b8:1;
}
3進数だと3バイトずつセットにしないと無駄なく表せないよね
3進数使うメリットあんの?
struct {
bool b1:1;
bool b2:1;
bool b3:1;
bool b4:1;
bool b5:1;
bool b6:1;
bool b7:1;
bool b8:1;
}
3進数だと3バイトずつセットにしないと無駄なく表せないよね
3進数使うメリットあんの?
767デフォルトの名無しさん (スップ Sd3f-qmJt)
2018/02/07(水) 08:20:31.75ID:cTCYWpamd 自然対数の底2.71828…により近い3進数の方が効率が良いっておばあちゃんが言ってた。
2進数なのは単に電気で表しやすいからだって。
2進数なのは単に電気で表しやすいからだって。
768デフォルトの名無しさん (ワッチョイ d78a-uppE)
2018/02/07(水) 08:24:31.98ID:nJAlkrj20 元の質問が3の累乗を求める問題だから3進数の方が単純化できるというだけのこと
769デフォルトの名無しさん (ワッチョイ d72b-Mu/V)
2018/02/07(水) 09:10:28.34ID:VNvdmR7o0770恥人
2018/02/07(水) 09:17:15.35 へえ、おもしろ
771デフォルトの名無しさん (アウアウエー Sadf-aShi)
2018/02/07(水) 17:13:09.38ID:mhmm9auua test
772デフォルトの名無しさん (スップ Sd3f-27VS)
2018/02/07(水) 17:58:56.36ID:jSJcfZwQd const char ○○とchar ○○について。
○○はフォルダ名。
後者ではエラー、前者ではエラーにならない場合何が考えられますか?
CとC++だと記述が違うとかあります?
○○はフォルダ名。
後者ではエラー、前者ではエラーにならない場合何が考えられますか?
CとC++だと記述が違うとかあります?
773デフォルトの名無しさん (ワッチョイ d78a-uppE)
2018/02/07(水) 18:21:27.23ID:nJAlkrj20 恐らく何らかの標準関数の引数にでもした時にエラーが発生したんだろうけど、具体的なことが分からないので何とも言えない
constについてはCとC++では微妙に扱いが違う
constについてはCとC++では微妙に扱いが違う
774デフォルトの名無しさん (ドコグロ MMdf-mP5N)
2018/02/07(水) 18:37:22.64ID:Rn2OhqN+M775デフォルトの名無しさん (ワッチョイ 97b3-C7gl)
2018/02/07(水) 18:37:42.61ID:I0UlpN+80 エラー発生箇所の最小のコードとエラー内容を張らないと憶測だらけに
776デフォルトの名無しさん (ワッチョイ 1781-hxSR)
2018/02/07(水) 18:42:33.73ID:IzVO5E4y0 >>774
0と正負で出来そうな気がする
0と正負で出来そうな気がする
777デフォルトの名無しさん (ワッチョイ 97b3-C7gl)
2018/02/07(水) 18:46:00.12ID:I0UlpN+80 HI/LO/ハイインピーダンス の 3ステート
778デフォルトの名無しさん (ドコグロ MMdf-mP5N)
2018/02/07(水) 19:13:13.49ID:Rn2OhqN+M779デフォルトの名無しさん (スップ Sdbf-9nxG)
2018/02/07(水) 19:16:14.19ID:pu3VMwXTd curl.exeをsystemコールするのだけど
その標準出力をバフに入れたり、バフの値を標準入力に入れたりするのってどうすればできるのだろう?
その標準出力をバフに入れたり、バフの値を標準入力に入れたりするのってどうすればできるのだろう?
780デフォルトの名無しさん (スップ Sdbf-9nxG)
2018/02/07(水) 19:17:04.25ID:pu3VMwXTd781デフォルトの名無しさん (ワッチョイ f79b-27VS)
2018/02/07(水) 19:40:09.15ID:v2LQurHa0782デフォルトの名無しさん (ワッチョイ 97b3-C7gl)
2018/02/07(水) 19:49:53.17ID:I0UlpN+80 const 無しのポインタ変数にリテラル文字列を与えると
C++だと (リテラル文字列の)指し先を書き換える気あるのかボケェ と警告やエラーになるですよ
Cは過去のコードの互換性の為に黙ってることが多い
(けどオプションで警告したりエラーにしたりするんだっけか?)
C++だと (リテラル文字列の)指し先を書き換える気あるのかボケェ と警告やエラーになるですよ
Cは過去のコードの互換性の為に黙ってることが多い
(けどオプションで警告したりエラーにしたりするんだっけか?)
783デフォルトの名無しさん (ワッチョイ ffd7-wbgk)
2018/02/07(水) 21:40:51.11ID:DHh/hU+x0 規格票読んでねえんだな
784デフォルトの名無しさん (ワッチョイ 57b3-wbgk)
2018/02/07(水) 22:29:07.83ID:MTpdY7NJ0 "!"!"!MOHYO!"!"!"2"
1.[[[HUn≒MUL=POSI≠MAHO+Set*HUGE=SAGE=LOGE=NOISIA=0≒1]]]
2-[[[[[[[E=RAT%2^10%SPELAn!%]&!TOWA&!PEG#!NOLNOL8!#!HYAGO!2#]1*2=1]U]S]0]O]!#PAL!
3--->PAGODOL7&!@17,2222734.15&[[[%%RENRAK6,9,99"^10"]#$11.2%}]KAIJ]{
41.2SSS = RALQI2.β{{{RA4,0,238^97,1,$.S.L.E.I.L."Q5352.15Q"JOL"5*3>>>41.3q}}}>1.2<0
.3φTALHOSI"0">>>105.10<1.235<1.2>51≠52===55.632>V="E=0.835"of"1.32","632",0.683,1.end
{
1.[[[HUn≒MUL=POSI≠MAHO+Set*HUGE=SAGE=LOGE=NOISIA=0≒1]]]
2-[[[[[[[E=RAT%2^10%SPELAn!%]&!TOWA&!PEG#!NOLNOL8!#!HYAGO!2#]1*2=1]U]S]0]O]!#PAL!
3--->PAGODOL7&!@17,2222734.15&[[[%%RENRAK6,9,99"^10"]#$11.2%}]KAIJ]{
41.2SSS = RALQI2.β{{{RA4,0,238^97,1,$.S.L.E.I.L."Q5352.15Q"JOL"5*3>>>41.3q}}}>1.2<0
.3φTALHOSI"0">>>105.10<1.235<1.2>51≠52===55.632>V="E=0.835"of"1.32","632",0.683,1.end
{
785デフォルトの名無しさん (ワッチョイ 9fe3-+DFt)
2018/02/07(水) 22:54:26.24ID:9NswO6iD0786デフォルトの名無しさん (ワッチョイ 2e80-2I1n)
2018/02/08(木) 02:47:50.39ID:31uXy/SD0 >>779-780
Rubyではパイプラインで、サブプロセスを実行し、結果を受け取れる。
例えば下は、メモ帳の実行ファイルの場所を探す
resText = ""
IO.popen("where notepad") { |io| resText = io.read }
puts resText
出力結果
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
Rubyではパイプラインで、サブプロセスを実行し、結果を受け取れる。
例えば下は、メモ帳の実行ファイルの場所を探す
resText = ""
IO.popen("where notepad") { |io| resText = io.read }
puts resText
出力結果
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
787786 (ワッチョイ 2e80-2I1n)
2018/02/08(木) 03:57:59.54ID:31uXy/SD0 >>779-780
Rubyではパイプラインで、サブプロセスを実行し、結果を受け取れる。
これで、サイトのHTML が取れる
resText = ""
IO.popen("curl サイトのURL") { |io| resText = io.read }
puts "終了ステータス : #{$?}", resText
Rubyではパイプラインで、サブプロセスを実行し、結果を受け取れる。
これで、サイトのHTML が取れる
resText = ""
IO.popen("curl サイトのURL") { |io| resText = io.read }
puts "終了ステータス : #{$?}", resText
788デフォルトの名無しさん (ワッチョイ 319f-R9JW)
2018/02/08(木) 04:04:45.98ID:FQ2Hecmn0 >>779
system()ではなくpopen()使うと楽だ。
system()ではなくpopen()使うと楽だ。
789デフォルトの名無しさん (ワッチョイ c68a-Rwrx)
2018/02/08(木) 07:36:30.89ID:CSlRHtTo0790デフォルトの名無しさん (ドコグロ MM75-/0XS)
2018/02/08(木) 07:46:17.37ID:kaQtkM8+M curl.exe を Linux で?
こりゃ触っちゃダメな人だな
こりゃ触っちゃダメな人だな
791デフォルトの名無しさん (ワッチョイ 2e80-2I1n)
2018/02/08(木) 07:57:31.83ID:31uXy/SD0 Linux なら、curl はコマンドである。
環境変数PATH も通っている
which curl で、
/usr/bin/curl
>>787
これは、Windows10 のWSL 上の、Ubuntu 16.04 で、Ruby で実行したもの
環境変数PATH も通っている
which curl で、
/usr/bin/curl
>>787
これは、Windows10 のWSL 上の、Ubuntu 16.04 で、Ruby で実行したもの
792デフォルトの名無しさん (スップ Sdc2-Rwrx)
2018/02/08(木) 08:12:52.25ID:JMUgsKdMd793デフォルトの名無しさん (ワッチョイ 4193-jcwv)
2018/02/08(木) 08:29:27.70ID:Mx6kxOEl0794デフォルトの名無しさん (スップ Sdc2-Rwrx)
2018/02/08(木) 08:33:32.64ID:JMUgsKdMd795デフォルトの名無しさん (ワッチョイ 4193-jcwv)
2018/02/08(木) 09:24:02.21ID:Mx6kxOEl0 #include <unistd.h>
#include <stdio.h>
int main() {
int pp[2];
pid_t pid;
pipe(pp); // パイプを生成 (エラーチェック略)
pid = fork(); // プロセスを複製 (エラーチェック略)
if (pid > 0) {
// 親プロセス: 子プロセスから情報を受け取る
close(0); // 標準入力のディスクリプタを閉じる
dup(pp[0]); // パイプの入力を標準入力に複製
close(pp[0]); // パイプの入力を閉じる
close(pp[1]); // パイプの出力側は使わない
char buf[1024];
int nbytes = read(0, buf, sizeof(buf)); // 子プロセスからのデータ受け取り
printf("[%*s]\n", nbytes, buf); // 受け取ったデータの確認
} else {
// 子プロセス: 外部コマンドを呼び出し、標準出力経由で親プロセスに送る
char *cmds[] = { "/usr/bin/echo", "hello, darling", NULL }; // ダミーの外部コマンド
close(1); // 標準出力のディスクリプタを閉じる
dup(pp[1]); // パイプの出力を標準出力に複製
close(pp[1]); // パイプの出力を閉じる
close(pp[0]); // パイプの入力側は使わない
// 外部コマンドの呼び出し (エラーチェック略)
execv(*cmds, cmds);
}
return 0;
}
#include <stdio.h>
int main() {
int pp[2];
pid_t pid;
pipe(pp); // パイプを生成 (エラーチェック略)
pid = fork(); // プロセスを複製 (エラーチェック略)
if (pid > 0) {
// 親プロセス: 子プロセスから情報を受け取る
close(0); // 標準入力のディスクリプタを閉じる
dup(pp[0]); // パイプの入力を標準入力に複製
close(pp[0]); // パイプの入力を閉じる
close(pp[1]); // パイプの出力側は使わない
char buf[1024];
int nbytes = read(0, buf, sizeof(buf)); // 子プロセスからのデータ受け取り
printf("[%*s]\n", nbytes, buf); // 受け取ったデータの確認
} else {
// 子プロセス: 外部コマンドを呼び出し、標準出力経由で親プロセスに送る
char *cmds[] = { "/usr/bin/echo", "hello, darling", NULL }; // ダミーの外部コマンド
close(1); // 標準出力のディスクリプタを閉じる
dup(pp[1]); // パイプの出力を標準出力に複製
close(pp[1]); // パイプの出力を閉じる
close(pp[0]); // パイプの入力側は使わない
// 外部コマンドの呼び出し (エラーチェック略)
execv(*cmds, cmds);
}
return 0;
}
796デフォルトの名無しさん (アウアウカー Sa69-OLJ2)
2018/02/08(木) 09:25:00.98ID:Bk9SeRO9a 自分で fork, exec するなら pipe() 作って dup() で繋げ。
やり方はUNIXやLinuxのシステムコールに関する入門書みたいなのがあれば必ず書いてあると思うのでそういうのを見るか、またはググれば世界中で解説やサンプルプログラムが見つかると思う。
かなり基本的な事だ。
やり方はUNIXやLinuxのシステムコールに関する入門書みたいなのがあれば必ず書いてあると思うのでそういうのを見るか、またはググれば世界中で解説やサンプルプログラムが見つかると思う。
かなり基本的な事だ。
797795 (ワッチョイ 4193-jcwv)
2018/02/08(木) 09:25:52.35ID:Mx6kxOEl0 急造のデッチ上げだけど、こんな感じかな。
要点は、名前なしパイプを作って標準入出力と差し替える。
外部コマンドの標準出力はパイプを通って出ていく、
呼び出した側は標準入力を読むとパイプから入ってくる。
32行制限に収めるために行が詰めたら見にくいね。
要点は、名前なしパイプを作って標準入出力と差し替える。
外部コマンドの標準出力はパイプを通って出ていく、
呼び出した側は標準入力を読むとパイプから入ってくる。
32行制限に収めるために行が詰めたら見にくいね。
798デフォルトの名無しさん (アウアウカー Sa69-OLJ2)
2018/02/08(木) 09:26:09.44ID:Bk9SeRO9a などと書いている最中に真上にサンプルプログラム出現w
799デフォルトの名無しさん (ワッチョイ 42a1-HQKA)
2018/02/08(木) 11:52:39.29ID:ZE8Ol0Sg0 curlだったら、オプションで全部ファイルに書き出せるじゃないか
800デフォルトの名無しさん (ワッチョイ 4193-jcwv)
2018/02/08(木) 12:29:54.84ID:Mx6kxOEl0 親プロセス側は標準入力をパイプに差し替える必要ないね。
パイプのディスクリプタから素直に読みゃいいんだわ。
// close(0); // (不要)標準入力のディスクリプタを閉じる
// dup(pp[0]); // (不要)パイプの入力を標準入力に複製
// close(pp[0]); // パイプの入力側はまだ閉じちゃダメ!
close(pp[1]); // パイプの出力側は使わない
// int nbytes = read(0, buf, sizeof(buf)); // (変更)
int nbytes = read(pp[0], buf, sizeof(buf)); // 子プロセスからのデータ受け取り
close(pp[0]); // 使用済みパイプの入力を閉じる
パイプのディスクリプタから素直に読みゃいいんだわ。
// close(0); // (不要)標準入力のディスクリプタを閉じる
// dup(pp[0]); // (不要)パイプの入力を標準入力に複製
// close(pp[0]); // パイプの入力側はまだ閉じちゃダメ!
close(pp[1]); // パイプの出力側は使わない
// int nbytes = read(0, buf, sizeof(buf)); // (変更)
int nbytes = read(pp[0], buf, sizeof(buf)); // 子プロセスからのデータ受け取り
close(pp[0]); // 使用済みパイプの入力を閉じる
801デフォルトの名無しさん (ワッチョイ 99b3-H5sa)
2018/02/08(木) 18:13:43.55ID:GCWLssPX0802デフォルトの名無しさん (アウアウカー Sa69-DUI6)
2018/02/08(木) 18:39:44.85ID:Z1lo1am9a803デフォルトの名無しさん (ワッチョイ d123-jA6l)
2018/02/08(木) 22:11:08.17ID:6pPoEzd60804愛恥人
2018/02/08(木) 22:40:11.36 消えてる(>_<)
805愛恥人
2018/02/08(木) 22:50:04.00 転載見つけた(´・ω・`)
https://0xacab.org/sizeofcat/iBoot
https://0xacab.org/sizeofcat/iBoot
806デフォルトの名無しさん (ワッチョイ eda7-3W2a)
2018/02/08(木) 23:02:55.43ID:H9Fqva5B0 流出どころかAppleがそもそも堂々と公開してるじゃないか
807恥人
2018/02/08(木) 23:03:59.16 どういう意味?(´・ω・`)
808デフォルトの名無しさん
2018/02/08(木) 23:13:56.52809恥人
2018/02/08(木) 23:17:16.32 >>808
OSのソースコードはないじゃん(´・ω・`)
OSのソースコードはないじゃん(´・ω・`)
810デフォルトの名無しさん
2018/02/08(木) 23:51:25.87811恥人
2018/02/08(木) 23:57:44.62 >>810
気づかなかった(´・ω・`)
気づかなかった(´・ω・`)
812デフォルトの名無しさん (アウアウエー Sa4a-3MxQ)
2018/02/09(金) 07:05:34.33ID:h2mjWzgva 恥を知れ
813デフォルトの名無しさん (アウアウウー Saa5-jA6l)
2018/02/09(金) 09:24:17.05ID:blkSiMpha (*^-^*)
814デフォルトの名無しさん (ササクッテロル Spf1-cOd3)
2018/02/09(金) 10:53:50.70ID:oBTDEK03p まあ、ライセンスが必要な部分は非公開なんだけどね。
815デフォルトの名無しさん (ワッチョイ 4193-rNjp)
2018/02/09(金) 21:20:19.26ID:BFrn0IJr0 処理が進んでくにつれてエラー処理のif文の中身が増えていくのをどうにかしたいんだがいい方法ない?
816デフォルトの名無しさん (アウアウカー Sa69-YiuZ)
2018/02/09(金) 21:27:57.36ID:dkdviptMa >>815
エラー時に行う定型的な処理の塊を関数化するのではいかんの?
エラー時に行う定型的な処理の塊を関数化するのではいかんの?
817デフォルトの名無しさん (ワッチョイ be23-jA6l)
2018/02/09(金) 22:18:00.58ID:iHLCNyuu0 >>815
普段起こりえないエラーは全部gotoでケツに例外処理を書く
普段起こりえないエラーは全部gotoでケツに例外処理を書く
818デフォルトの名無しさん (ワッチョイ c68a-Rwrx)
2018/02/09(金) 22:24:15.39ID:9/m4CaSQ0 gotoは可読性落ちない?
819デフォルトの名無しさん (ワッチョイ 319f-R9JW)
2018/02/09(金) 22:53:36.09ID:nN2BoaGY0 >>815
あー。ファイル1を開く、エラーならリターン、ファイル2を開く、エラーならファイル1をクローズしてリターン、ファイル3を開く、エラーならファイル1、ファイル2をクローズしてリターン、
・・・って具合にリターン直前にクローズするファイルがどんどん増えていくみたいなやつだよね?
そういうのは俺はもう goto 使って関数の終わりの方に飛ばしてそこで必要なクローズやらfree()やらをまとめてやるようにしたよ。関係する変数は関数のブロックの先頭の宣言で全部 NULL や -1 で初期化して goto の飛び先で NULL や -1 でなければクローズやfree()をする。
(但し関数の途中で自分でクローズやfree()をした場合はその直後にNULLや-1を代入するように書く必要がある)。C言語は try catch みたいな例外処理は作れないから仕方がないね。
goto 使わずにやるとしたら for (;;) か while (1) のブロック内に書いてエラーが出たら break すればできる(もちろんループの終わりは break)。しかしこの方法はループでもないのにループを書くという何か不自然なものになる。
あー。ファイル1を開く、エラーならリターン、ファイル2を開く、エラーならファイル1をクローズしてリターン、ファイル3を開く、エラーならファイル1、ファイル2をクローズしてリターン、
・・・って具合にリターン直前にクローズするファイルがどんどん増えていくみたいなやつだよね?
そういうのは俺はもう goto 使って関数の終わりの方に飛ばしてそこで必要なクローズやらfree()やらをまとめてやるようにしたよ。関係する変数は関数のブロックの先頭の宣言で全部 NULL や -1 で初期化して goto の飛び先で NULL や -1 でなければクローズやfree()をする。
(但し関数の途中で自分でクローズやfree()をした場合はその直後にNULLや-1を代入するように書く必要がある)。C言語は try catch みたいな例外処理は作れないから仕方がないね。
goto 使わずにやるとしたら for (;;) か while (1) のブロック内に書いてエラーが出たら break すればできる(もちろんループの終わりは break)。しかしこの方法はループでもないのにループを書くという何か不自然なものになる。
820デフォルトの名無しさん (ワッチョイ 319f-R9JW)
2018/02/09(金) 22:55:50.14ID:nN2BoaGY0 >>817
うう。かぶった。リロード忘れてた。
うう。かぶった。リロード忘れてた。
821デフォルトの名無しさん (ワッチョイ 319f-R9JW)
2018/02/09(金) 23:00:38.39ID:nN2BoaGY0 >>818
C言語の場合は同じような事をする場合はgotoの方が可読性高いと思うけどなあ。とにかく間すっ飛ばして使ったリソース開放して即リターンしたいわけだし。
C言語の場合は同じような事をする場合はgotoの方が可読性高いと思うけどなあ。とにかく間すっ飛ばして使ったリソース開放して即リターンしたいわけだし。
822デフォルトの名無しさん (ワッチョイ 4193-rNjp)
2018/02/09(金) 23:48:06.18ID:BFrn0IJr0823片山博文MZ ◆T6xkBnTXz7B0 (スププ Sd62-d/x4)
2018/02/09(金) 23:53:39.52ID:owaGciqsd goto hell;はdo-whileで置き換え可能。
do {
...
break; // goto hell;
...
} while (0);
hell:;
do {
...
break; // goto hell;
...
} while (0);
hell:;
824デフォルトの名無しさん (ワッチョイ 319f-R9JW)
2018/02/10(土) 00:06:47.82ID:l9ZzjyKP0825デフォルトの名無しさん (ワッチョイ c2e1-15El)
2018/02/10(土) 00:17:25.15ID:uwwIAPPB0 単純に置き換え可能じゃないから do while(0) は定着しなかった
※個人の感想です
※個人の感想です
826デフォルトの名無しさん (ワッチョイ d12b-04A9)
2018/02/10(土) 00:35:21.68ID:FI3VGJcC0 do while(0) も使うけど、その中でループを書く場合は面倒だからgoto使うかなあ
必ずどっちかだけってことは無いですね
必ずどっちかだけってことは無いですね
827デフォルトの名無しさん (ワッチョイ e1b3-Db5I)
2018/02/10(土) 04:34:11.76ID:pC7oS8hD0 return は1箇所でまとめる派 (関数出口は1箇所)
とっと return してしまう派 (関数出口は散らばる)
とっと return してしまう派 (関数出口は散らばる)
828デフォルトの名無しさん (アウアウウー Saa5-Ma38)
2018/02/10(土) 05:19:44.96ID:j/8A364ga cでgoto使わないのは唐揚げにレモンかけないようなもんやで
829デフォルトの名無しさん (アウアウエー Sa4a-3MxQ)
2018/02/10(土) 05:56:43.86ID:1vRRPdaia break 1 とか
break 2 とかで
抜ける {} の段数指定できない仕様が糞
break 2 とかで
抜ける {} の段数指定できない仕様が糞
830デフォルトの名無しさん (ワッチョイ 6ed7-jA6l)
2018/02/10(土) 05:58:46.40ID:cpx12OHt0831デフォルトの名無しさん (アウアウエー Sa4a-3MxQ)
2018/02/10(土) 06:14:37.72ID:1vRRPdaia do{}while(0)は普通に使うやろ
特にマクロで
どこが変態やねん!
特にマクロで
どこが変態やねん!
832デフォルトの名無しさん
2018/02/10(土) 08:04:34.03 int ret = 1;
int fdA = -1;
int fdB = -1;
int fdC = -1;
if (ret) {
fdA = open(A);
if (fdA < 0) {
printf(“ファイルAオープンエラー¥n”);
ret = 0;
}
}
if (ret) {
fdB = open(A);
if (fdB < 0) {
printf(“ファイルBオープンエラー¥n”);
ret = 0;
}
}
if (ret) {
fdC = open(A);
if (fdC < 0) {
printf(“ファイルCオープンエラー¥n”);
ret = 0;
}
}
if (ret) {
いろいろ処理
}
if (fdA >= 0) close(fdA);
if (fdB >= 0) close(fdB);
if (fdC >= 0) close(fdC);
return ret;
int fdA = -1;
int fdB = -1;
int fdC = -1;
if (ret) {
fdA = open(A);
if (fdA < 0) {
printf(“ファイルAオープンエラー¥n”);
ret = 0;
}
}
if (ret) {
fdB = open(A);
if (fdB < 0) {
printf(“ファイルBオープンエラー¥n”);
ret = 0;
}
}
if (ret) {
fdC = open(A);
if (fdC < 0) {
printf(“ファイルCオープンエラー¥n”);
ret = 0;
}
}
if (ret) {
いろいろ処理
}
if (fdA >= 0) close(fdA);
if (fdB >= 0) close(fdB);
if (fdC >= 0) close(fdC);
return ret;
833デフォルトの名無しさん (ワッチョイ 4193-jcwv)
2018/02/10(土) 08:04:56.81ID:aodeHLjm0 O'ReillyのLinuxデバイスドライバ本では
初期化の失敗時、一部分だけ確保できたリソース群を
確保時とは逆順に行儀良く解放するのにgotoを使う方法を勧めてるね。
そういう具合にgotoが出てくる場面が明確ならば
必ずしもgotoが可読性を落とす、とは言えないじゃろ。
初期化の失敗時、一部分だけ確保できたリソース群を
確保時とは逆順に行儀良く解放するのにgotoを使う方法を勧めてるね。
そういう具合にgotoが出てくる場面が明確ならば
必ずしもgotoが可読性を落とす、とは言えないじゃろ。
834デフォルトの名無しさん (ワッチョイ 42b3-/0XS)
2018/02/10(土) 08:36:08.48ID:Sj+J5yD30835デフォルトの名無しさん (ワッチョイ 6ed7-jA6l)
2018/02/10(土) 08:53:45.34ID:cpx12OHt0836デフォルトの名無しさん (ワッチョイ e1a1-nHV3)
2018/02/10(土) 08:54:55.97ID:DmmJmf560 goto を使わないようにというのは
昔、ダイクストラ大先生が「gotoは有害だ!」
とのたまわれたので、それ以後gotoを使わない
構造化プログラミングというのが流行ってFortranなども
Fortran 77で一部構造化されたりしてきたという経緯が
あります。
たしかに、昔のBASICプログラムはやたらgoto が多くて
まさにスパゲッティプログラムで論理を追うのに苦労しました。
最近のBasis(たとえばFree Basic)などは構造化されていて
使いやすく感じます。
Cもgotoを使わなくて書けるのですから、やむおえない
(gotoを使わなければ、どうしようもない)場合場合以外は
使わないにこしたことはないと思います。
昔、ダイクストラ大先生が「gotoは有害だ!」
とのたまわれたので、それ以後gotoを使わない
構造化プログラミングというのが流行ってFortranなども
Fortran 77で一部構造化されたりしてきたという経緯が
あります。
たしかに、昔のBASICプログラムはやたらgoto が多くて
まさにスパゲッティプログラムで論理を追うのに苦労しました。
最近のBasis(たとえばFree Basic)などは構造化されていて
使いやすく感じます。
Cもgotoを使わなくて書けるのですから、やむおえない
(gotoを使わなければ、どうしようもない)場合場合以外は
使わないにこしたことはないと思います。
837デフォルトの名無しさん (ワッチョイ 6ed7-jA6l)
2018/02/10(土) 09:02:56.46ID:cpx12OHt0 ダウト
昔のBASICはGOTO文のせいで読みづらいんじゃない
最大のネックは変数が全てグローバルであること
次いでFOR文のNEXTの自由度が高すぎることだ
メインフレーム脳でPCを語るジジイどもが
行番号を批判していたが的外れもいいとこ
昔のBASICはGOTO文のせいで読みづらいんじゃない
最大のネックは変数が全てグローバルであること
次いでFOR文のNEXTの自由度が高すぎることだ
メインフレーム脳でPCを語るジジイどもが
行番号を批判していたが的外れもいいとこ
838デフォルトの名無しさん (スップ Sdc2-IOan)
2018/02/10(土) 09:50:38.48ID:1KCikl+Sd >>833
gotoの使い道なんてそのパターン以外ないな。
gotoの使い道なんてそのパターン以外ないな。
839デフォルトの名無しさん (アウアウウー Saa5-Ma38)
2018/02/10(土) 10:38:17.42ID:ISHGalm1a Linuxカーネルで登場するgotoをざっくりgrepしてみたらラベルの種類は1000種類程度
top10は以下
12257 out
2534 err
1609 done
1520 error
1415 fail
1351 exit
737 unlock
493 retry
421 again
368 bail
top10は以下
12257 out
2534 err
1609 done
1520 error
1415 fail
1351 exit
737 unlock
493 retry
421 again
368 bail
840デフォルトの名無しさん (アウアウウー Saa5-Ma38)
2018/02/10(土) 10:44:03.26ID:ISHGalm1a grepが雑すぎた
1753種でtop10は以下
2つ目のoutは先頭にスペースあり
12257 out
2534 err
1609 done
1520 error
1415 fail
1351 exit
1213 out
737 unlock
493 retry
421 again
1753種でtop10は以下
2つ目のoutは先頭にスペースあり
12257 out
2534 err
1609 done
1520 error
1415 fail
1351 exit
1213 out
737 unlock
493 retry
421 again
841デフォルトの名無しさん (ワッチョイ 419f-VKlD)
2018/02/10(土) 11:25:11.36ID:wR2OqAa50842デフォルトの名無しさん (ワッチョイ 419f-VKlD)
2018/02/10(土) 11:29:39.16ID:wR2OqAa50 すまんこっちの方が良かったかも
https://qiita.com/nothingcosmos/items/af2f7f0a827b4a7c8998
https://qiita.com/nothingcosmos/items/af2f7f0a827b4a7c8998
843デフォルトの名無しさん (ワッチョイ 99b3-7Au1)
2018/02/10(土) 11:35:32.34ID:4W9TXsf60844デフォルトの名無しさん (ワイモマー MMa5-O4V4)
2018/02/10(土) 12:01:34.42ID:s8Yuzl0xM >>818
内部的には全部goto(継続とか)だって事を理解すれば、適切な使い方が出来るようになる。
内部的には全部goto(継続とか)だって事を理解すれば、適切な使い方が出来るようになる。
845デフォルトの名無しさん (アークセー Sxf1-c21i)
2018/02/10(土) 12:09:51.29ID:BZD8vxg8x ドラクエもテトリスもファイナルファンタジーも全部
C言語で作っているのですか?ふと疑問に思いました。
C言語で作っているのですか?ふと疑問に思いました。
846デフォルトの名無しさん (アウアウカー Sa69-M0Ce)
2018/02/10(土) 13:20:56.38ID:P/Lcoyrsa847デフォルトの名無しさん (ワッチョイ 419f-VKlD)
2018/02/10(土) 14:08:50.97ID:wR2OqAa50 >>846
> C言語なら理由があるgoto文は普通に使われるぞ
さすがにこれは言い過ぎだろう。
ただしgoto不要論も50年前の理論であり、盲信するのも間違いだというだけだ。
問題は、goto を無くしたいだけの理由で余分なフラグやループ(もどき)を導入する是非だ。
ソースが余計に見にくくなるのは事実だからね。
最近の風潮なら、linter等によって「間違ったgotoの使い方」を検出できるようになれば、
gotoは完全にありになるだろう。
問題はこれが難しい(と言うよりやる気がない)ことで、
Cのノリなら「お前が間違えなければいいだけ、何故特化文法が必要になる?」になってしまう。
ラベル付きbreakとか、導入しても俺はいいと思うけどね。
例外については、今のところ他言語でも上手い解を見つけられていない。
goto文を使った場合はあくまで自関数内のtry-catchになってしまうが、正直、これで十分だ。
OOPでの継承先からのcatchとかを許可すると、便利な反面、密結合になってしまい、
noexceptとか言いだしているし、完全にあっちは暗礁に乗り上げつつある。
Cだと最初からnoexceptしかない。OOPが色々屋上屋を架しているのも事実だね。
> C言語なら理由があるgoto文は普通に使われるぞ
さすがにこれは言い過ぎだろう。
ただしgoto不要論も50年前の理論であり、盲信するのも間違いだというだけだ。
問題は、goto を無くしたいだけの理由で余分なフラグやループ(もどき)を導入する是非だ。
ソースが余計に見にくくなるのは事実だからね。
最近の風潮なら、linter等によって「間違ったgotoの使い方」を検出できるようになれば、
gotoは完全にありになるだろう。
問題はこれが難しい(と言うよりやる気がない)ことで、
Cのノリなら「お前が間違えなければいいだけ、何故特化文法が必要になる?」になってしまう。
ラベル付きbreakとか、導入しても俺はいいと思うけどね。
例外については、今のところ他言語でも上手い解を見つけられていない。
goto文を使った場合はあくまで自関数内のtry-catchになってしまうが、正直、これで十分だ。
OOPでの継承先からのcatchとかを許可すると、便利な反面、密結合になってしまい、
noexceptとか言いだしているし、完全にあっちは暗礁に乗り上げつつある。
Cだと最初からnoexceptしかない。OOPが色々屋上屋を架しているのも事実だね。
848デフォルトの名無しさん (ワッチョイ ed61-nHV3)
2018/02/10(土) 14:32:07.09ID:rkQpRkjv0 毎年どっかのスレでGOTO戦争起こってる気がする。
849デフォルトの名無しさん (ササクッテロル Spf1-cOd3)
2018/02/10(土) 14:33:34.53ID:RWGO8x4lp goto使えないなら、setjmpにマクロ被せてtry〜catch風にしちゃえw
850デフォルトの名無しさん (オッペケ Srf1-5OAx)
2018/02/10(土) 14:35:35.79ID:hk3lMPpyr >>836
「gotoは有害!」と言われるそのgotoは昔のBASICみたいな、別のサブルーチンの中に無節操にジャンプできる機能のことだったんじゃないかと思われる。
関数の外に飛べないgotoなら、関数の行数が少なければさして問題じゃない。
「gotoは有害!」と言われるそのgotoは昔のBASICみたいな、別のサブルーチンの中に無節操にジャンプできる機能のことだったんじゃないかと思われる。
関数の外に飛べないgotoなら、関数の行数が少なければさして問題じゃない。
851デフォルトの名無しさん (ササクッテロル Spf1-cOd3)
2018/02/10(土) 15:37:13.47ID:RWGO8x4lp gotoのラベルって、関数内しか有効じゃなかったっけ?
852デフォルトの名無しさん
2018/02/10(土) 15:41:31.33 こんな時代だからこそあえてmain関数にすべてを詰め込むプログラミングスタイルを確立していきたい
853デフォルトの名無しさん (ワッチョイ 319f-R9JW)
2018/02/10(土) 15:42:18.37ID:l9ZzjyKP0 あー。別サブルーチンにgotoあったねえ。
6502アセンブラで書かれた Apple ][ のモニタプログラムにもそういうの結構あって当時すげえとか思ったが、無理矢理2KBのROMに押し込むための苦肉の策だったんだよな。
当時はメモリが高価で少ないのが当たり前だったから何でもかんでもトリッキーな方法使って小さくしてた。
6502アセンブラで書かれた Apple ][ のモニタプログラムにもそういうの結構あって当時すげえとか思ったが、無理矢理2KBのROMに押し込むための苦肉の策だったんだよな。
当時はメモリが高価で少ないのが当たり前だったから何でもかんでもトリッキーな方法使って小さくしてた。
854デフォルトの名無しさん (ワッチョイ 0676-3MxQ)
2018/02/10(土) 15:45:49.28ID:jClKPuF30 long_jump
855デフォルトの名無しさん (ワッチョイ 319f-R9JW)
2018/02/10(土) 15:47:06.49ID:l9ZzjyKP0856デフォルトの名無しさん (ワッチョイ 42b3-/0XS)
2018/02/10(土) 16:02:44.60ID:Sj+J5yD30857デフォルトの名無しさん (ワッチョイ 3181-Ejv6)
2018/02/10(土) 16:03:51.94ID:mAbz3z0v0 >>851
むかーし、データ受信専用のホストアプリ作ったときは、setjmp、longjmp使ったな
むかーし、データ受信専用のホストアプリ作ったときは、setjmp、longjmp使ったな
858850 (オッペケ Srf1-5OAx)
2018/02/10(土) 19:34:42.47ID:hk3lMPpyr859デフォルトの名無しさん (ワッチョイ 6e24-yPCn)
2018/02/10(土) 21:42:11.48ID:YQ6eMVvy0 ガチの初心者で申し訳ないんやが...。
unsigned char型変数には8ビットしか入らんはずやのに
0〜255の数値が入るのはなんでなんや?
8ビットを二進数変換すると11111111でこれを10進数に変換すると255になるのは分かるんやが
なぜ255の半角が入るのかがわからんのや。
#質問するとこ、ここで合ってるよな?
unsigned char型変数には8ビットしか入らんはずやのに
0〜255の数値が入るのはなんでなんや?
8ビットを二進数変換すると11111111でこれを10進数に変換すると255になるのは分かるんやが
なぜ255の半角が入るのかがわからんのや。
#質問するとこ、ここで合ってるよな?
860デフォルトの名無しさん (ワッチョイ e1b3-Db5I)
2018/02/10(土) 21:47:37.77ID:pC7oS8hD0 「255の半角」が何を指してるのかわからにゃい
861デフォルトの名無しさん
2018/02/10(土) 21:48:30.15862デフォルトの名無しさん (ワッチョイ 319f-jA6l)
2018/02/10(土) 22:03:49.07ID:l9ZzjyKP0 >>859
君がどういう勘違いをしているのかよくわからない。
君がどういう勘違いをしているのかよくわからない。
863デフォルトの名無しさん (ワッチョイ 99b3-7Au1)
2018/02/10(土) 22:17:10.51ID:4W9TXsf60 >>861
小人さんがASCIIコードに変換してる
小人さんがASCIIコードに変換してる
864デフォルトの名無しさん (ワッチョイ 6e24-yPCn)
2018/02/10(土) 22:18:39.30ID:YQ6eMVvy0 すまん、いま投稿しようと思ったら、クソ規制に弾かれたわ
だから詳細が書けない。
だから詳細が書けない。
865デフォルトの名無しさん
2018/02/10(土) 22:19:04.81 たぶんこんな感じ
2進数で格納すると8文字(11111111)
16進数で格納すると2文字(FF)
10進数で格納すると3文字(255)分の領域が必要なはず
なのになんで10進数の数値255を
1文字分の領域(unsigned char型変数)に格納できるの???
2進数で格納すると8文字(11111111)
16進数で格納すると2文字(FF)
10進数で格納すると3文字(255)分の領域が必要なはず
なのになんで10進数の数値255を
1文字分の領域(unsigned char型変数)に格納できるの???
866デフォルトの名無しさん (ワッチョイ 6e24-yPCn)
2018/02/10(土) 22:23:07.55ID:YQ6eMVvy0 >>865
だいたいこんな感じ。
だいたいこんな感じ。
867片山博文MZ ◆T6xkBnTXz7B0 (スププ Sd62-d/x4)
2018/02/10(土) 22:23:46.71ID:x9I4Wn6Pd 表記と実データは本質的に異なるものだ。
868デフォルトの名無しさん (ワッチョイ 6e24-yPCn)
2018/02/10(土) 22:26:25.15ID:YQ6eMVvy0 簡単に書くわ
signed char var = 255;
↑これが何故格納できるのかわからない。
signed char var = 255;
↑これが何故格納できるのかわからない。
869デフォルトの名無しさん (ワッチョイ 99b3-7Au1)
2018/02/10(土) 22:31:38.43ID:4W9TXsf60 >>868
さっきまでunsigned言うてたのに…
さっきまでunsigned言うてたのに…
870デフォルトの名無しさん (ワッチョイ d12b-04A9)
2018/02/10(土) 22:40:49.51ID:FI3VGJcC0 ワロタ
871デフォルトの名無しさん
2018/02/10(土) 22:44:47.34872デフォルトの名無しさん (ワッチョイ 6e24-yPCn)
2018/02/10(土) 23:11:03.86ID:YQ6eMVvy0 >>869
ごめん、「un」を書き忘れてた。
ごめん、「un」を書き忘れてた。
873デフォルトの名無しさん (ワッチョイ 3181-Ejv6)
2018/02/10(土) 23:18:49.98ID:mAbz3z0v0 何が分からないのか、それがよく分からない
1ビットなら、0,1
2ビットなら、0,1,2,3
3ビットなら、0,1,2,3,4,5,6,7
・
・
・
・
8ビットなら、0,1,2,3,4,5,6,7.....253,254,255
指折るなりしてちょっと考えてみよう
1ビットなら、0,1
2ビットなら、0,1,2,3
3ビットなら、0,1,2,3,4,5,6,7
・
・
・
・
8ビットなら、0,1,2,3,4,5,6,7.....253,254,255
指折るなりしてちょっと考えてみよう
875デフォルトの名無しさん (ワッチョイ e1a1-nHV3)
2018/02/11(日) 00:27:54.48ID:aNzM17qZ0 >856
Edgar Dijkstra: Go To Statement Condidered Harmful
Communications of the ACM 11, 3(March 1968) 147-148
というように、ダイクストラ大先生が権威ある
Communications of the ACM
にお書きになっていますが。
この論文は検索すれ読めますよ。
Edgar Dijkstra: Go To Statement Condidered Harmful
Communications of the ACM 11, 3(March 1968) 147-148
というように、ダイクストラ大先生が権威ある
Communications of the ACM
にお書きになっていますが。
この論文は検索すれ読めますよ。
876デフォルトの名無しさん (ワッチョイ 319f-jA6l)
2018/02/11(日) 00:43:28.76ID:B0DbdRYG0 >>868
数値としての255だからだよ。コンパイラが"255"の文字の並びを見て数値の255として扱って8bitのvarを初期化するコードを作ってくれるの。
数値としての255だからだよ。コンパイラが"255"の文字の並びを見て数値の255として扱って8bitのvarを初期化するコードを作ってくれるの。
877恥人!id:ignore (ワッチョイ e175-80pK)
2018/02/11(日) 00:43:51.30ID:/hLQhQLG0 コンディダードってなんだよ
878デフォルトの名無しさん (ワッチョイ 319f-jA6l)
2018/02/11(日) 00:45:40.11ID:B0DbdRYG0 知らない
879デフォルトの名無しさん (ワッチョイ 4193-jcwv)
2018/02/11(日) 07:01:25.77ID:o7b316W00 >>877 そんなのネットですぐ分かるだろ、と「コンディダード」を検索したら
5ちゃんねるの「C言語なら俺に聞け 144」て掲示板の投稿877番がトップに出た。
最新のネット用語で言うところの「モルゲッソヨ」みたいな感じね。
5ちゃんねるの「C言語なら俺に聞け 144」て掲示板の投稿877番がトップに出た。
最新のネット用語で言うところの「モルゲッソヨ」みたいな感じね。
880デフォルトの名無しさん (ワッチョイ 42b3-/0XS)
2018/02/11(日) 08:37:08.13ID:S5L6PYJ00 >>875
だからその
> Go To Statement Condidered Harmful
って言うタイトルはダイクストラじゃなくてニクラウス・ヴィルト(Pascal作った人)が付けたって話な
ちなみに本人がつけたタイトルは A Case Against the Goto Statement
そもそも論文の中身を読めばgoto有害一辺倒でないこともわかる
読んでない知ったかさんがタイトルだけで騒ぎすぎ w
だからその
> Go To Statement Condidered Harmful
って言うタイトルはダイクストラじゃなくてニクラウス・ヴィルト(Pascal作った人)が付けたって話な
ちなみに本人がつけたタイトルは A Case Against the Goto Statement
そもそも論文の中身を読めばgoto有害一辺倒でないこともわかる
読んでない知ったかさんがタイトルだけで騒ぎすぎ w
881デフォルトの名無しさん (ワッチョイ 6e24-yPCn)
2018/02/11(日) 11:51:21.08ID:90c1E0800882デフォルトの名無しさん (ドコグロ MM0a-/0XS)
2018/02/11(日) 12:32:41.79ID:A61Ds/EIM883デフォルトの名無しさん (アウアウエー Sa4a-W92t)
2018/02/11(日) 12:57:51.12ID:aLeqVhz7a test
884デフォルトの名無しさん (ワッチョイ 99b3-7Au1)
2018/02/11(日) 16:12:35.10ID:QA9xO9uU0 >>882
テストすんな
テストすんな
885デフォルトの名無しさん (ワッチョイ ddc3-saCW)
2018/02/11(日) 16:45:51.58ID:Iux9XEWP0 CとC++、C#の違いすら把握していない初心者だけど
構造体っていうのはC++にのみあってCにはない概念なの?
ポインタはCにもあるよね?
構造体っていうのはC++にのみあってCにはない概念なの?
ポインタはCにもあるよね?
886デフォルトの名無しさん (アウアウカー Sa69-DUI6)
2018/02/11(日) 17:06:15.27ID:HsXbtZ8Ra >>832
これはヒドい
これはヒドい
887デフォルトの名無しさん (ワッチョイ 99b3-7Au1)
2018/02/11(日) 17:27:21.28ID:QA9xO9uU0 >>885
あるね
あるね
888デフォルトの名無しさん (ドコグロ MM0a-/0XS)
2018/02/11(日) 17:36:36.57ID:A61Ds/EIM889デフォルトの名無しさん
2018/02/11(日) 17:58:53.20 >>886
そうかな?
MISRA-Cの一つの出口の原則を守りつつ、ネストもあまり深くならない。
問題と言えば、一瞥して「これはヒドい」と思う人がいるのと、retの評価コストと、retの使い方に一貫性を持たせないとバグを生むリスクくらいじゃないかな?
そうかな?
MISRA-Cの一つの出口の原則を守りつつ、ネストもあまり深くならない。
問題と言えば、一瞥して「これはヒドい」と思う人がいるのと、retの評価コストと、retの使い方に一貫性を持たせないとバグを生むリスクくらいじゃないかな?
890デフォルトの名無しさん (ワッチョイ ddc3-saCW)
2018/02/11(日) 22:36:44.98ID:Iux9XEWP0 簡単なSTGが作れるようになったが次は何を勉強したらいいんだ?
まだまだわからないことだらけだ
指定子だとかポイントだとかアロー演算子だとかまだまだ
まだまだわからないことだらけだ
指定子だとかポイントだとかアロー演算子だとかまだまだ
891デフォルトの名無しさん (ワッチョイ 42d2-e8Wn)
2018/02/12(月) 03:18:10.68ID:t1XkZnCw0 >>890
自分が作りたいものがないんならやる意味ないよ
自分が作りたいものがないんならやる意味ないよ
892デフォルトの名無しさん (ササクッテロラ Spf1-TNUB)
2018/02/12(月) 08:59:15.07ID:iLNVddvep この問題なんですが、2次元累積和の実装部分がわかりません
ご教授おねがいします><
https://i.imgur.com/8X6E27O.jpg
https://i.imgur.com/ZFk0cal.jpg
https://i.imgur.com/kPW9vdi.jpg
https://i.imgur.com/v3ZSJpm.jpg
ご教授おねがいします><
https://i.imgur.com/8X6E27O.jpg
https://i.imgur.com/ZFk0cal.jpg
https://i.imgur.com/kPW9vdi.jpg
https://i.imgur.com/v3ZSJpm.jpg
893デフォルトの名無しさん (ワッチョイ c212-VKlD)
2018/02/12(月) 09:15:03.65ID:F/mYoq3g0894デフォルトの名無しさん (ワッチョイ ddc3-saCW)
2018/02/12(月) 10:57:03.46ID:sATukCOa0895デフォルトの名無しさん (エムゾネ FF62-W92t)
2018/02/12(月) 12:16:05.58ID:4ugd2bUvF >>890
time_t とか struct time とか使って書いたことある?
time_t とか struct time とか使って書いたことある?
896片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ 99b3-d/x4)
2018/02/12(月) 12:21:54.34ID:AQ5CwM330 >>890
時間制限付きの算数ドリルなんてどうや?
時間制限付きの算数ドリルなんてどうや?
897デフォルトの名無しさん (ワッチョイ 2e80-2I1n)
2018/02/12(月) 13:17:05.73ID:S+p/PDus0 >>892
プログラミング・コンテストの問題だろ
プログラミング・コンテストの問題だろ
898デフォルトの名無しさん (ワッチョイ 2eea-Db5I)
2018/02/12(月) 13:23:04.80ID:uipfUTPJ0 宿題もたいがいだけど、その上をいくな
(既に〆てる奴なら上位の回答見れないのけ?)
(既に〆てる奴なら上位の回答見れないのけ?)
899デフォルトの名無しさん (ワッチョイ 4193-rNjp)
2018/02/12(月) 13:31:31.53ID:jZ2wOFuS0 プログラムはある程度かけるけどそういうコンテストみたいなのってからっきしダメなんだよなあ
将来これでやってけるのか不安
将来これでやってけるのか不安
900デフォルトの名無しさん (ワッチョイ e175-jzYt)
2018/02/12(月) 13:35:50.98ID:+qsRixLI0 まず問題が意味不明なんだが...
901デフォルトの名無しさん (ワッチョイ 498a-myDV)
2018/02/12(月) 14:07:42.60ID:klSKPNC+0 >>892
中身はあまり見てないけど C言語(GCC 5.4.1)での解答例
https://abc086.contest.atcoder.jp/submissions/all?task_screen_name=arc089_b&language_screen_name=gcc_5.3.0
中身はあまり見てないけど C言語(GCC 5.4.1)での解答例
https://abc086.contest.atcoder.jp/submissions/all?task_screen_name=arc089_b&language_screen_name=gcc_5.3.0
902デフォルトの名無しさん (ワッチョイ 2e80-2I1n)
2018/02/12(月) 14:35:15.10ID:S+p/PDus0 プログラミング・コンテスト・チャレンジブック、第2版、2012
1年掛けて、この本の問題をやれば?
1年掛けて、この本の問題をやれば?
903デフォルトの名無しさん (ワッチョイ e175-jzYt)
2018/02/12(月) 14:38:07.49ID:+qsRixLI0 誰か問題の意味おしえてくれ
904デフォルトの名無しさん (ワッチョイ ed23-3MxQ)
2018/02/12(月) 14:53:57.93ID:5RLElXD90 マジでわからんのか?
小学生?
小学生?
905デフォルトの名無しさん (ワッチョイ e175-jzYt)
2018/02/12(月) 14:55:09.61ID:+qsRixLI0 大学生
906デフォルトの名無しさん (ワッチョイ c2af-Y8Ua)
2018/02/12(月) 15:56:28.34ID:1+ieDEY/0 まず問題の読む気がしないんだが・・÷
907デフォルトの名無しさん (ワッチョイ e175-jzYt)
2018/02/12(月) 16:06:46.43ID:+qsRixLI0908デフォルトの名無しさん (ワッチョイ be23-jA6l)
2018/02/12(月) 16:24:33.69ID:WS7T92Up0 >>906
やる気がないなら帰れ!
やる気がないなら帰れ!
909デフォルトの名無しさん (ワッチョイ 319f-jA6l)
2018/02/12(月) 17:13:21.80ID:gfcybQxo0 >>892
問題の意味がわからない。
問題の意味がわからない。
910デフォルトの名無しさん (ワッチョイ e175-jzYt)
2018/02/12(月) 17:22:37.79ID:+qsRixLI0 与えられた希望一覧の中の希望を1番多く叶えられるようなチェック柄の位置に対する叶えられる与えられた希望の数を求めるらしい(´・ω・`)
911デフォルトの名無しさん (ワッチョイ 2eea-Db5I)
2018/02/12(月) 17:23:25.54ID:uipfUTPJ0 複数の条件 (xi,yi,ci) ci =白か黒 と 市松模様の大きさ K
KxK の市松模様を任意の位相でプロットし(=(周期2Kの中で)位相を適当に振ったとき)
与えられた条件をできる限り満たしたい。 変数は位相
解で要求されているのは満たした条件数
KxK の市松模様を任意の位相でプロットし(=(周期2Kの中で)位相を適当に振ったとき)
与えられた条件をできる限り満たしたい。 変数は位相
解で要求されているのは満たした条件数
912デフォルトの名無しさん (ワッチョイ 319f-jA6l)
2018/02/12(月) 17:44:17.61ID:gfcybQxo0 希望ってなに?
913デフォルトの名無しさん (ワッチョイ e175-jzYt)
2018/02/12(月) 17:48:08.77ID:+qsRixLI0 シカくんが塗りたいマスの一覧
シカくんは出来るだけ多くのマスを塗りたいらしい。
シカくんは出来るだけ多くのマスを塗りたいらしい。
914デフォルトの名無しさん (ワッチョイ e175-jzYt)
2018/02/12(月) 17:49:33.05ID:+qsRixLI0 出来るだけ多くのマスを塗りたい(希望一覧の中のマスの中で)
915デフォルトの名無しさん
2018/02/12(月) 17:52:57.98 どうやるの?
パターンを全種類生成してから条件に合わないものを弾いていくの?
数学苦手だから分からない><
パターンを全種類生成してから条件に合わないものを弾いていくの?
数学苦手だから分からない><
916デフォルトの名無しさん (ワッチョイ e175-jzYt)
2018/02/12(月) 17:54:49.90ID:+qsRixLI0 だいたいそんな感じらしい。
917デフォルトの名無しさん (ワッチョイ 319f-jA6l)
2018/02/12(月) 17:55:21.96ID:gfcybQxo0 あー。なんとなくわかってきたぞ。白か黒かに塗りたいのはその指定された座標の1マスだけということか。
その希望を実現するためのマス目を求めるってこと?
でもその出力例ってなんなの?数字一つしか出力されてないけど。なんの値が出力されてるの?マス目の一辺の長さ?
その希望を実現するためのマス目を求めるってこと?
でもその出力例ってなんなの?数字一つしか出力されてないけど。なんの値が出力されてるの?マス目の一辺の長さ?
918デフォルトの名無しさん (ワッチョイ e175-jzYt)
2018/02/12(月) 18:00:52.49ID:+qsRixLI0 希望を出来るだけ多く満たせるようなチェック柄の位置に対する満たせる希望の数を出力するらしい
919デフォルトの名無しさん (ワッチョイ 319f-jA6l)
2018/02/12(月) 18:06:23.28ID:gfcybQxo0 わからんw
しかし、わかる必要性もないような気がしてきたw
わからない事はわからないままにしておこう。
きっと今はその時ではないのだ。
しかし、わかる必要性もないような気がしてきたw
わからない事はわからないままにしておこう。
きっと今はその時ではないのだ。
920デフォルトの名無しさん (ワッチョイ e175-jzYt)
2018/02/12(月) 18:09:02.94ID:+qsRixLI0 シカくんが塗りたいマスで実際に塗れるのは何個か求めるんだよ(>_<)
921デフォルトの名無しさん
2018/02/12(月) 18:25:06.20 N=100000、K=1000の場合、考え得る模様のパターン数は幾つになるのかな?
全部計算するのに何分かかる?
生成パターンを保存するためのメモリ容量は何MB必要?
全部計算するのに何分かかる?
生成パターンを保存するためのメモリ容量は何MB必要?
922デフォルトの名無しさん (ワッチョイ e175-jzYt)
2018/02/12(月) 18:28:36.70ID:+qsRixLI0 模様のパターンは 2K × 2K 通りで時間はO(N×K^2)
923デフォルトの名無しさん (ワッチョイ e175-jzYt)
2018/02/12(月) 18:29:27.69ID:+qsRixLI0 パターンの保存は要らない
924デフォルトの名無しさん (ワッチョイ 319f-jA6l)
2018/02/12(月) 18:31:53.32ID:gfcybQxo0925デフォルトの名無しさん (ワッチョイ 4193-jcwv)
2018/02/12(月) 19:25:10.56ID:EAmFNd0B0 確かにパズルの解き方の部分と、Cによる実現は別々に考えた方が良さそう。
それにしても問題文が酷いね。
たぶん元は外国語で、サイエンティフィック・アメリカン誌の
読者への問題コーナーみたいなノリの文章だったんだろうけど、
日本人向けにはまるまる再構成すべきだわ。
それにしても問題文が酷いね。
たぶん元は外国語で、サイエンティフィック・アメリカン誌の
読者への問題コーナーみたいなノリの文章だったんだろうけど、
日本人向けにはまるまる再構成すべきだわ。
926デフォルトの名無しさん (ワッチョイ dd9f-nHV3)
2018/02/13(火) 19:02:29.17ID:52PaDV7e0 解き方のイメージとしては↓こんな感じ?
x = (x[i] /K) & 1;
y = (y[i] /K) & 1;
c = x^y;
if (c1==c) count++;
x = (x[i] /K) & 1;
y = (y[i] /K) & 1;
c = x^y;
if (c1==c) count++;
927デフォルトの名無しさん (アウアウウー Saa5-jA6l)
2018/02/14(水) 03:52:55.01ID:lfiUOdKwa ニキ質問!
頑張ってくるCといかいうサイト終わりそうなんだけど、2冊めってか次やるなら何がいいっすか?
頑張ってくるCといかいうサイト終わりそうなんだけど、2冊めってか次やるなら何がいいっすか?
928デフォルトの名無しさん (アウアウウー Saa5-jA6l)
2018/02/14(水) 03:53:46.66ID:lfiUOdKwa ちなここ最初以外はわかりにくかったンゴ…
929デフォルトの名無しさん (ワッチョイ 22f9-YiuZ)
2018/02/14(水) 07:54:39.17ID:TsEGZMPg0 >>927
そのサイトは知らないけど、解説読んだり課題解くだけじゃ大して進歩しないから、とにかく自分でコード書いて悩んで調べて考えて乗り越えるのを繰り返してみたら。やってるうちに自分が理解していないのはどこか、自分がやりたいことに必要な物が何か分かると思う。
あと、こういうことやりたいのにこんなめんどくさい方法しかないの?って思うようなことは既に上手いやり方が確立してたりするから、そういうのも一度自分で経験してから身につけると理解が深まると思うよ。
そのサイトは知らないけど、解説読んだり課題解くだけじゃ大して進歩しないから、とにかく自分でコード書いて悩んで調べて考えて乗り越えるのを繰り返してみたら。やってるうちに自分が理解していないのはどこか、自分がやりたいことに必要な物が何か分かると思う。
あと、こういうことやりたいのにこんなめんどくさい方法しかないの?って思うようなことは既に上手いやり方が確立してたりするから、そういうのも一度自分で経験してから身につけると理解が深まると思うよ。
930デフォルトの名無しさん (ワッチョイ c212-VKlD)
2018/02/14(水) 10:40:30.59ID:waZcmI6l0 >>927
「C実践プログラミング」 でCの文法、make、gdbなど、基礎を習得
↓
「C言語ポインタ完全制覇」 or 「秘伝C言語問答 ポインタ編」 でポインタに関して完全理解する
↓
「エキスパートCプログラミング―知られざるCの深層」 でスタック、ヒープ、リンカ、ローダなど周辺知識を習得
↓
「C言語によるオブジェクト指向プログラミング入門」 で大規模プログラムの作り方を学ぶ
↓
「C言語デバッグ完全解説」でバグに強いプログラムの記述法をマスター
↓
「Code Complete(上)(下)」でより良いC言語プログラムとは何かを各人で考察する
↓
神の誕生
「C実践プログラミング」 でCの文法、make、gdbなど、基礎を習得
↓
「C言語ポインタ完全制覇」 or 「秘伝C言語問答 ポインタ編」 でポインタに関して完全理解する
↓
「エキスパートCプログラミング―知られざるCの深層」 でスタック、ヒープ、リンカ、ローダなど周辺知識を習得
↓
「C言語によるオブジェクト指向プログラミング入門」 で大規模プログラムの作り方を学ぶ
↓
「C言語デバッグ完全解説」でバグに強いプログラムの記述法をマスター
↓
「Code Complete(上)(下)」でより良いC言語プログラムとは何かを各人で考察する
↓
神の誕生
931デフォルトの名無しさん (ワッチョイ 715b-jA6l)
2018/02/14(水) 11:26:21.33ID:nmVabXov0 神だってお
どんだけレベル低いんだよ
まあレベルの問題でもないんだが
なにがしか発明をしてやっと神界の入り口だぞ
どんだけレベル低いんだよ
まあレベルの問題でもないんだが
なにがしか発明をしてやっと神界の入り口だぞ
932デフォルトの名無しさん (ササクッテロル Spf1-cOd3)
2018/02/14(水) 11:50:09.98ID:b65I43I5p 青色LEDとかflashメモリーとか発明して初めて神の領域
933デフォルトの名無しさん (ワッチョイ 715b-jA6l)
2018/02/14(水) 12:04:47.68ID:nmVabXov0 己の創りたもうた世界に住人がいなきゃ
どんなにレベルだけ高くても神と呼んでくれる人がいない
どんなにレベルだけ高くても神と呼んでくれる人がいない
934デフォルトの名無しさん (ワッチョイ 3181-Ejv6)
2018/02/14(水) 12:06:43.64ID:pyMH7FMU0 ハードなんかいくら発明したって、神になれる訳ないよ
935デフォルトの名無しさん (アウアウカー Sa69-OLJ2)
2018/02/14(水) 12:09:50.36ID:1w/9kxzBa >>933
その場合は呼んでくれる人が居なくても最初から神に確定してるのでどうでもよい。
まあしかし夢の中では夢の世界を作ったのは自分なのに、その夢の中の登場人物は特に崇めてくれないのと同様に、本物の神は普通は崇められていない。
その場合は呼んでくれる人が居なくても最初から神に確定してるのでどうでもよい。
まあしかし夢の中では夢の世界を作ったのは自分なのに、その夢の中の登場人物は特に崇めてくれないのと同様に、本物の神は普通は崇められていない。
936デフォルトの名無しさん (ワッチョイ 715b-jA6l)
2018/02/14(水) 12:12:31.56ID:nmVabXov0 ん、俺はあくまで喩え話をしていたんだが
ガチの宗教論になってきたのか?
ガチの宗教論になってきたのか?
937デフォルトの名無しさん (ワッチョイ 2e80-2I1n)
2018/02/14(水) 12:51:21.42ID:gwupYb1h0 >>927
柴田 望洋、林 晴比古
柴田 望洋、林 晴比古
938デフォルトの名無しさん (ササクッテロル Spf1-cOd3)
2018/02/14(水) 13:22:52.07ID:b65I43I5p 宗教論なら、gotoは悪とかreturnは関数末にひとつだけ論とかやろうぜ?
939デフォルトの名無しさん (ガックシ 0626-aTUk)
2018/02/14(水) 13:24:38.15ID:SGvlTtFD6 質問。
1/3を3回、6回、9回足し合わせる計算を単精度と倍精度でそれぞれ行うプログラムを作ったんだけど、
6回足したときの結果が単と倍で逆転しているような気がする
これってプログラムがおかしい?それともこうなるようになってる?
プログラム
https://imgur.com/ncjlu.jpg
実行結果
https://imgur.com/QpRfO.jpg
1/3を3回、6回、9回足し合わせる計算を単精度と倍精度でそれぞれ行うプログラムを作ったんだけど、
6回足したときの結果が単と倍で逆転しているような気がする
これってプログラムがおかしい?それともこうなるようになってる?
プログラム
https://imgur.com/ncjlu.jpg
実行結果
https://imgur.com/QpRfO.jpg
940デフォルトの名無しさん (ガックシ 0626-aTUk)
2018/02/14(水) 13:26:29.23ID:SGvlTtFD6941デフォルトの名無しさん (アウアウカー Sa69-OLJ2)
2018/02/14(水) 13:43:36.53ID:QwasDp2Da942デフォルトの名無しさん (アウアウカー Sa69-OLJ2)
2018/02/14(水) 13:46:59.31ID:QwasDp2Da943デフォルトの名無しさん (ササクッテロル Spf1-cOd3)
2018/02/14(水) 14:26:54.68ID:b65I43I5p 分数を実数で扱うからこうなる。
分数なら分数のまま、分子と分母が扱える型を使って計算しろ。
分数なら分数のまま、分子と分母が扱える型を使って計算しろ。
944デフォルトの名無しさん (ワッチョイ 2e80-2I1n)
2018/02/14(水) 16:52:06.55ID:gwupYb1h0 分数なら、Ruby の、Rational とか
浮動小数点は、常に誤差があるから、
正確な値は表せないから、== で比較もできない
また、式の順番を入れ替えたり、コンパイル時・実行時で、
同じ式でも値が異なるとか、とにかく実装依存
浮動小数点は、常に誤差があるから、
正確な値は表せないから、== で比較もできない
また、式の順番を入れ替えたり、コンパイル時・実行時で、
同じ式でも値が異なるとか、とにかく実装依存
945デフォルトの名無しさん (ワッチョイ 715b-jA6l)
2018/02/14(水) 17:21:41.09ID:nmVabXov0 C使いにオヌヌメするならC++だろ
分数クラスはないが、標準にgcd関数があるから
小学校の算数ができる人ならすぐ自作できるし、
ratioなら翻訳時評価までできる
分数クラスはないが、標準にgcd関数があるから
小学校の算数ができる人ならすぐ自作できるし、
ratioなら翻訳時評価までできる
946デフォルトの名無しさん (ワッチョイ 4193-jcwv)
2018/02/14(水) 17:41:23.35ID:fTssTv6G0947デフォルトの名無しさん (アウアウカー Sa69-rNjp)
2018/02/14(水) 17:53:44.10ID:hcMswy7Xa cでカーネルとか書いたことないからアレなんだけどmalllcとかfopenとかどうやって書いてるのかしりたい
948デフォルトの名無しさん (アウアウエー Sa4a-3MxQ)
2018/02/14(水) 17:55:57.41ID:rMSOrK/Ha OSとかCPUによって違う
949片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ 99b3-d/x4)
2018/02/14(水) 18:02:48.86ID:210BqIGr0 >>947
ターゲットのOS、CPU、コンパイラーのC実行時ライブラリー(C runtime; CRT)のソースを探せ。
ターゲットのOS、CPU、コンパイラーのC実行時ライブラリー(C runtime; CRT)のソースを探せ。
950デフォルトの名無しさん (ブーイモ MM85-YAUl)
2018/02/14(水) 20:07:04.81ID:MlbBMtNyM >>947
俺はLinuxしか知らんが
mallocなら
https://youtu.be/0-vWT-t0UHg
システムコールなら
http://softwaretechnique.jp/Linux/SystemCall/index.html
俺はLinuxしか知らんが
mallocなら
https://youtu.be/0-vWT-t0UHg
システムコールなら
http://softwaretechnique.jp/Linux/SystemCall/index.html
951デフォルトの名無しさん (ワッチョイ 4193-jcwv)
2018/02/14(水) 20:13:10.91ID:fTssTv6G0 malloc() の原理というか基礎的な実装方法は
『プログラミング言語C』で1章割いてた記憶がある。
まるまる1章じゃなかったかも知れんけど。
あとは「標準ライブラリのmalloc()は遅くて使い物にならん」と言って
でかいメモリブロックをひとつだけシステムから借り受けた後、
小分け部分は自前で管理する実装がネットのあちこちで紹介されてる。
TLSF とかいうアルゴリズム。
『プログラミング言語C』で1章割いてた記憶がある。
まるまる1章じゃなかったかも知れんけど。
あとは「標準ライブラリのmalloc()は遅くて使い物にならん」と言って
でかいメモリブロックをひとつだけシステムから借り受けた後、
小分け部分は自前で管理する実装がネットのあちこちで紹介されてる。
TLSF とかいうアルゴリズム。
952デフォルトの名無しさん (アウアウカー Sa69-rNjp)
2018/02/14(水) 20:35:17.71ID:hcMswy7Xa みてみます
953デフォルトの名無しさん (アウアウカー Sa69-OLJ2)
2018/02/14(水) 20:46:48.95ID:vhVaHeOTa954デフォルトの名無しさん (ワッチョイ 715b-jA6l)
2018/02/14(水) 21:10:16.24ID:nmVabXov0 >>951
その小分けの階層構造に愕然とはしなかったのか
その小分けの階層構造に愕然とはしなかったのか
955デフォルトの名無しさん (ワッチョイ 99b3-7Au1)
2018/02/14(水) 22:35:16.23ID:JQ2Po4sY0 若者はinetdのソースを是非読んで欲しい。
貧乏くさくて涙ちょちょぎれるぞ。
貧乏くさくて涙ちょちょぎれるぞ。
956デフォルトの名無しさん (アウアウエー Sadf-kYbg)
2018/02/15(木) 07:35:08.14ID:0Fgr05via957デフォルトの名無しさん (ワッチョイ bf10-NEPM)
2018/02/17(土) 20:16:03.04ID:SegumL7e0 最近組み込みやデバイスドライバでもC++使われるのが増えてきたけど、Cの未来ってあるのかな?
958デフォルトの名無しさん (ワッチョイ 579f-T3WU)
2018/02/17(土) 20:42:14.56ID:EWYfJ6l00 縮小傾向はあるのでは?しかし、UNIX系OSが根強いから中々なくならんだろうけどね。
特に Linux が組み込み関係や Android で物凄く広まってほぼ定着してしまったからな。
特に Linux が組み込み関係や Android で物凄く広まってほぼ定着してしまったからな。
959デフォルトの名無しさん (ワッチョイ 178a-GcT2)
2018/02/17(土) 20:50:55.90ID:NJ9Pxjnh0 組み込みLinuxやAndroidではC言語ってそんなに使われてないと思うが
960デフォルトの名無しさん
2018/02/17(土) 23:27:11.62 C以外見たことない
961デフォルトの名無しさん (ワッチョイ 178a-GcT2)
2018/02/17(土) 23:43:15.75ID:NJ9Pxjnh0 例えば組み込みLinuxとして有名なRaspbianではPython、またAndroidではJavaが主流
直接カーネルでも弄るような特殊な事例を除けば、C言語でのアプリ開発なんか殆ど誰も行なわないだろ
直接カーネルでも弄るような特殊な事例を除けば、C言語でのアプリ開発なんか殆ど誰も行なわないだろ
962デフォルトの名無しさん (ワッチョイ 9f60-qi38)
2018/02/17(土) 23:43:40.47ID:I0BNlfaX0 C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために
さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが
簡単に生産されるようになってる。正直いって、C を選ぶ理由が C++ プログラマーを
追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。
つまりこういうことだ: C を選ぶのは、唯一のまともな選択だ。
ぼくは C よりも C++ をプロジェクトに使いたがるようなプログラマーは、みな
*本当に* ムカつかせておきたいようなプログラマーだという結論に達した。
C++ はトンでもなく悪い設計の元になりうる。どうせこの言語ではいつも STL やら
Boost やら、その他ゲロゲロベロベロの「素敵な」ライブラリの機能を使って、
それがあんたのプログラムに「役立つ」んだろうが、以下のことが起きる:
- うまく動かないときにもたらされる際限のない苦痛
- 非効率な抽象プログラミングモデルで、2年たった後にこれらが実はそんなに
効率的じゃなかったことに気づくケース。
言いかえれば、唯一まともで、効率がよくて、システムレベルで使えて、移植性がある
C++ ってのは、基本的に C で使える機能だけに限ったときなんだ。そして C だけに
限定するってことは、他の人がそれをめちゃくちゃにしないってことで、
ついでに沢山のプログラマが実際に低水準の問題を理解することができて、アホらしい
「オブジェクト・モデル」のたわごとを持ちこまないってことだ。
さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが
簡単に生産されるようになってる。正直いって、C を選ぶ理由が C++ プログラマーを
追っぱらうため *だけ* だったとしても、それ自体、C を使う強力な理由になりうる。
つまりこういうことだ: C を選ぶのは、唯一のまともな選択だ。
ぼくは C よりも C++ をプロジェクトに使いたがるようなプログラマーは、みな
*本当に* ムカつかせておきたいようなプログラマーだという結論に達した。
C++ はトンでもなく悪い設計の元になりうる。どうせこの言語ではいつも STL やら
Boost やら、その他ゲロゲロベロベロの「素敵な」ライブラリの機能を使って、
それがあんたのプログラムに「役立つ」んだろうが、以下のことが起きる:
- うまく動かないときにもたらされる際限のない苦痛
- 非効率な抽象プログラミングモデルで、2年たった後にこれらが実はそんなに
効率的じゃなかったことに気づくケース。
言いかえれば、唯一まともで、効率がよくて、システムレベルで使えて、移植性がある
C++ ってのは、基本的に C で使える機能だけに限ったときなんだ。そして C だけに
限定するってことは、他の人がそれをめちゃくちゃにしないってことで、
ついでに沢山のプログラマが実際に低水準の問題を理解することができて、アホらしい
「オブジェクト・モデル」のたわごとを持ちこまないってことだ。
963デフォルトの名無しさん (ワッチョイ 9fd4-oNSK)
2018/02/18(日) 00:49:33.48ID:nAWX2+xR0 ん?組込みは今でもCが主流なんだけど…
964デフォルトの名無しさん (アウアウエー Sadf-kYbg)
2018/02/18(日) 02:27:02.10ID:xYXxBey2a965デフォルトの名無しさん (ワッチョイ 178a-h07R)
2018/02/18(日) 07:51:17.74ID:fDbSCHET0 >>963
そういった分野ではOS自体が必要無いしな
ファイルシステムやコンソール入出力が存在しない場合も多い
メモリと入出力ポートさえ直接制御出来さえすればいい
アセンブラに比べればC言語の方が主流ではある
そういった分野ではOS自体が必要無いしな
ファイルシステムやコンソール入出力が存在しない場合も多い
メモリと入出力ポートさえ直接制御出来さえすればいい
アセンブラに比べればC言語の方が主流ではある
966デフォルトの名無しさん (ワッチョイ d793-MfWd)
2018/02/18(日) 07:55:15.82ID:G+NN3epc0 「組み込み」て言葉を、プアなハードウェア環境をギリギリ限界まで使う、と
寸法は小さくても目的には十分以上の能力を持ったコンピュータ、と
両様の意味で使ってて議論がちぐはぐになってるように感じる。
寸法は小さくても目的には十分以上の能力を持ったコンピュータ、と
両様の意味で使ってて議論がちぐはぐになってるように感じる。
967デフォルトの名無しさん (ワッチョイ 9fe1-/1mG)
2018/02/18(日) 08:25:09.12ID:8LzivY1B0 組み込みが小さいとは限らない
968デフォルトの名無しさん (ワッチョイ bfe7-QcxC)
2018/02/18(日) 11:19:58.12ID:wZRbQg+g0 実行の高速性を狙うならC以外選択肢がない。
969デフォルトの名無しさん (ワッチョイ 178a-h07R)
2018/02/18(日) 11:31:05.49ID:fDbSCHET0 選択肢がないと言うのは語弊がある
とことんまで高速性を追求するならアセンブラということになる
とことんまで高速性を追求するならアセンブラということになる
970デフォルトの名無しさん (ワッチョイ 579f-+35F)
2018/02/18(日) 13:34:14.26ID:oDDrqbus0 >>959
OSそのものがCで書かれている。
OSそのものがCで書かれている。
971デフォルトの名無しさん (ワッチョイ 579f-+35F)
2018/02/18(日) 13:35:54.27ID:oDDrqbus0 >>961
ああ。アプリ開発ではCはほとんど使われてないだろうな。
ああ。アプリ開発ではCはほとんど使われてないだろうな。
972デフォルトの名無しさん (ワッチョイ 178a-GcT2)
2018/02/18(日) 13:37:07.35ID:fDbSCHET0 OSそのものがCで書かれているからと言って応用アプリもCで書くのか?
973デフォルトの名無しさん (ワッチョイ 579f-+35F)
2018/02/18(日) 13:46:35.49ID:oDDrqbus0 >>962
Linusと書いてなくても、元の英語のままでなくても内容からしてLinusが書いたとわかってしまうなw
Linusと書いてなくても、元の英語のままでなくても内容からしてLinusが書いたとわかってしまうなw
974デフォルトの名無しさん (ワッチョイ 57aa-E5n2)
2018/02/18(日) 13:49:23.41ID:V3U0RnBF0 とことん高速求めるなら、FPGAでワイヤーロジック組めよ。
975デフォルトの名無しさん (ワッチョイ 579f-+35F)
2018/02/18(日) 14:03:17.66ID:oDDrqbus0 >>972
それはOSとは関係ないがLinuxの場合組み込み用のボードでよく使われている関係上使われる率は今のところ高いんじゃないかな。
Cだと最終的に作られる実行形式のバイナリが小さいというのもあるしね。
それはOSとは関係ないがLinuxの場合組み込み用のボードでよく使われている関係上使われる率は今のところ高いんじゃないかな。
Cだと最終的に作られる実行形式のバイナリが小さいというのもあるしね。
976デフォルトの名無しさん (ドコグロ MMdf-dLOu)
2018/02/18(日) 14:13:45.48ID:WO6mnsrqM977デフォルトの名無しさん (ワッチョイ 579f-+35F)
2018/02/18(日) 14:17:13.11ID:oDDrqbus0 まあしかしソースが公開されていて誰でも開発に参加できるOSがCで書かれているとなるとそのOSが使われ続ける限り最低でもそこでCが使われ続けるということだからCは消えないだろう。
俺の予想では別の言語をベースにして作った互換性のあるOSが爆発的に流行してLinuxやUNIX系OSを誰も使わなくなった時にCが完全に廃れると思う。なので100年以上先なのではないかな。
(途中time()の都合で改造が入るだろうが、それが元でOSごと全部廃れることはないと思う)。
俺の予想では別の言語をベースにして作った互換性のあるOSが爆発的に流行してLinuxやUNIX系OSを誰も使わなくなった時にCが完全に廃れると思う。なので100年以上先なのではないかな。
(途中time()の都合で改造が入るだろうが、それが元でOSごと全部廃れることはないと思う)。
978デフォルトの名無しさん (スップ Sd3f-mN3I)
2018/02/18(日) 14:27:14.85ID:r7mlcZbxd ちょっと前のパソコンスペックのlinux機だって組み込みと言うし。
979デフォルトの名無しさん (ワッチョイ 5716-7aOx)
2018/02/18(日) 17:43:52.76ID:4qWLRsuo0 なんでパソコンってアプリケーションから書き換え可能なFPGAを搭載しないの?
その回路を使って光速で処理できるのに...
その回路を使って光速で処理できるのに...
980デフォルトの名無しさん (アウウィフ FF9b-OKH7)
2018/02/18(日) 17:49:25.56ID:AoWf7ouiF 標準じゃないだけで
載せたければいくらでも載せられる
載せたければいくらでも載せられる
981デフォルトの名無しさん (ワッチョイ 9fb3-dLOu)
2018/02/18(日) 17:51:55.34ID:f4Owde4c0982デフォルトの名無しさん (ワッチョイ d7f2-T3WU)
2018/02/18(日) 17:54:06.20ID:Ct2k6iqr0 プラス数万円程度のFPGAじゃあ性能なんてたかが知れてるだろう。
Intelがチップセットに内蔵するというならともかく。
Intelがチップセットに内蔵するというならともかく。
983デフォルトの名無しさん (ワッチョイ 5716-7aOx)
2018/02/18(日) 17:58:08.19ID:4qWLRsuo0 ニコニコ動画かどこか忘れたけど動画の処理をFPGAに実装できるらしいけどあれって高いのかな
984デフォルトの名無しさん (アウウィフ FF9b-OKH7)
2018/02/18(日) 18:08:02.66ID:AoWf7ouiF >>979
FPGA は ASIC に比べると「遅い」
FPGA は ASIC に比べると「遅い」
986デフォルトの名無しさん (スップ Sd3f-mN3I)
2018/02/18(日) 18:40:22.10ID:r7mlcZbxd PCIボードかなんかあるじゃねえの?
987デフォルトの名無しさん (ワッチョイ 37a7-q5UL)
2018/02/18(日) 18:48:56.93ID:FFNb1XM40 速くなるかはさておき、C/C++でのFPGA設計はRTLより楽ではある
988デフォルトの名無しさん (ワッチョイ 3761-qi38)
2018/02/19(月) 13:09:18.45ID:bY0NvIgt0 ふと「最近 \e ってネタ聞かなくなったなぁ」と思った。
989デフォルトの名無しさん (ワッチョイ 3723-OKH7)
2018/02/19(月) 13:13:01.30ID:nOlxtT0c0 ASIC って書き換え出来ないやん?
>>979 の意図で ASIC は無いと思うんだが
>>979 の意図で ASIC は無いと思うんだが
990デフォルトの名無しさん (ワッチョイ 9f60-qi38)
2018/02/19(月) 14:37:11.19ID:RiKI2VJM0 >>989
だから FPGA は遅い、といっている
だから FPGA は遅い、といっている
991デフォルトの名無しさん (ササクッテロラ Sp0b-E5n2)
2018/02/19(月) 15:36:01.87ID:S4UzQIjup セットアップ時間が掛かるって話と、応答速度がごっちゃになってるけど、わざと?
992デフォルトの名無しさん (ワッチョイ ff3f-T3WU)
2018/02/19(月) 16:02:25.62ID:wBFQMwB50 ASICはApprication Specific ICというだけで、フルカスタムという場合もある
ただし、それだけが理由ではない
仮に自分とこがフルカスタムでも、それはIntelと同じ土俵に立ったに過ぎない
開発費を同等以上にかけられるとは限らないがね
ただし、それだけが理由ではない
仮に自分とこがフルカスタムでも、それはIntelと同じ土俵に立ったに過ぎない
開発費を同等以上にかけられるとは限らないがね
993デフォルトの名無しさん (ドコグロ MMcb-dLOu)
2018/02/19(月) 19:33:04.04ID:2cNNs3G6M >>991
キティの相手しなくていいよ
キティの相手しなくていいよ
994デフォルトの名無しさん (ワッチョイ d7f2-T3WU)
2018/02/19(月) 21:25:07.65ID:+XovCnpU0 セットアップ時間の話なんかしてないと思うがな。
回路構成を変更できるようゲートアレイだから遅いと言ってるんだろう。
回路構成を変更できるようゲートアレイだから遅いと言ってるんだろう。
995デフォルトの名無しさん (ササクッテロラ Sp0b-E5n2)
2018/02/19(月) 21:45:37.90ID:S4UzQIjup またアホがトンチンカンな事言ってるw
FPGAは論理合成された結果だけになるから
下手なロジック回路より速いんだぜ。
FPGAは論理合成された結果だけになるから
下手なロジック回路より速いんだぜ。
996デフォルトの名無しさん (ワッチョイ 178a-h07R)
2018/02/19(月) 21:48:55.76ID:jK4wyRuz0 ASIC, FPGA, ゲートアレイの用語が混同されている気がする
997デフォルトの名無しさん (ワッチョイ d7f2-T3WU)
2018/02/19(月) 21:54:17.96ID:+XovCnpU0 まさか、ASICは論理合成しないとでも思ってるのか。
>下手なロジック回路より速いんだぜ。
これも意味わからん。FPGAはロジック回路じゃないとでも?
それとも、いまどき「下手なロジック回路」をASICで作るとでも?
>下手なロジック回路より速いんだぜ。
これも意味わからん。FPGAはロジック回路じゃないとでも?
それとも、いまどき「下手なロジック回路」をASICで作るとでも?
998デフォルトの名無しさん (ササクッテロラ Sp0b-E5n2)
2018/02/19(月) 21:58:53.64ID:S4UzQIjup そりゃFPGAでバグ取りした回路がASICになるんだからだろ?
999デフォルトの名無しさん (ワッチョイ 5781-qput)
2018/02/19(月) 22:14:36.13ID:9/te2eSJ01000デフォルトの名無しさん (アウアウカー Sa6b-GHyv)
2018/02/19(月) 22:32:06.42ID:B9G3IBM9a C言語から脱線してる奴らは皆まとめてどこかに行け
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 58日 2時間 58分 23秒
新しいスレッドを立ててください。
life time: 58日 2時間 58分 23秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★5 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 日本が「世界で最も魅力的な国」1位に!✨「魅力的な都市」では東京が2位 「魅力的な地域」は北海道が7位に [煮卵★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- 高市政権「中国さん、日本はいつでも対話に応じるで」 [834922174]
- 吉村はん「高市さんは発言を撤回する必要ないですよ。中国の大阪総領事が謝罪すべき」 [256556981]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 【悲報】青森県、今日だけで60cm雪が積もってとうとう100cm越えてしまうwwwww
- 東浩紀「日本はいままさに駆け引きをしている。」高市有事にピシャリ [834922174]
