プログラミングについて6コメント

1 MAX id:iFN/rmf.

2016-02-08(月) 17:36:05 [削除依頼]
今、大学などでプログラミングについて勉強している人いたら、私の質問に乗って頂けると幸いです。
  • 2 もちぐま id:qZwEqkk/

    2016-02-08(月) 21:52:20 [削除依頼]
    とりあえず、質問をどうぞ。
    世の中には学校で習わずに、
    独学だったり、学校以外で習ったりして、
    ある程度の知識と技術を持つ人がいる。
    もしかしたら、
    ここにも現れるかもしれない。
    ちなみに、私は素人だ。
  • 3 MAX id:EIFIrDz/

    2016-02-22(月) 18:31:18 [削除依頼]
    返信ありがとうございます。

    早速質問させていただきます。
    質問1.
    構造体のstructとは、どういう意味ですか?

    質問2.
    floatとlong型はどういう時に使いますか?

    教えていただけると幸いです。
  • 4 もちぐま id:XASLuT.0

    2016-02-22(月) 23:32:49 [削除依頼]
    まず、軽くおさらいだ。
    C言語では、複数のデータ型を
    複数格納することができる箱を作れる。
    配列で格納できるのは単一データ型のみだが、
    構造体を使うことで
    バラバラのデータ型を持った変数を
    1つにまとめることができる。
    例えば、
    都道府県の一覧を作る時にその名前はchar型、
    県庁所在地や人口数、特産品はint型
    という具合に異なったデータ型を
    まとめることによって
    分かりやすいプログラムを書くことができる。

    さて、質問1に取り掛かる。

    構造体を作るには、
    まず使うデータ型と名前を宣言した型を
    用意する必要がある。

    構造体の型を宣言する時は
    "struct"を用いる。
    "struct"を付けることで、
    コンパイラに
    「この部分は構造体の型宣言ですよ」
    というのを教える。
  • 5 もちぐま id:q6dLGc40

    2016-02-23(火) 01:33:42 [削除依頼]
    まず、簡単におさらい。

    long
    longは32ビット整数。
    範囲は「-2147483648〜2147483647」
    unsigned longにすると4294967296まで扱える。

    float
    floatで実数が扱える。
    ただし、精度に気をつける必要がある。
    最近のCPUはFPU(浮動小数点数演算ユニット)を
    持っているので、
    floatより精度の高いdoubleを使った方が良い。

    double
    doubleは倍精度実数。
    floatの倍の精度で計算できる。
    倍の精度というと、
    計算も倍かかってしまいそうだが、
    最近のCPUではそんなことはない。
    float型の数値でも
    CPU内部ではdoubleとして計算している。
    計算時間は同じでも
    doubleの計算結果をfloatに変換している分だけ
    floatを使った方が処理が遅いこともある。
    ただし、精度が倍なので、メモリも倍使う。

    例えば、
    floatというのは、
    4バイトを使って近似的に数値を表すもので、
    10進数では有効桁数は7桁程度しかない。
    doubleというのは8バイトを使うが、
    10進数では有効桁は15桁程度しかない。
    このため、
    long型の値で7桁より大きい数値を
    float型の値に変換すると変換は行われるが
    7桁以降の数には誤差が含まれる可能性がある。
    同じように15桁以上の大きい数値を
    double型の値に変換した場合も
    誤差が含まれる可能性がある。


    ちなみに、これの説明を入れておく。
    signedは負の数が扱えて,
    unsignedは
    負の数が扱えない代わり最大値が倍になる。

    と、色々書いたが、超簡単に書くと
    扱いたい整数の上限〜下限で使い分ける。
    実はfloatを使う時は限られている。
    その代表例が画像。GPUってご存知?
    画像表示に特化したCPUの親戚。
    このGPUはfloatが基本。
    全ての画素に対して
    同じ計算を繰り返すのがGPUの得意分野で、
    これfloatじゃないと大変なのだ。
    doubleだと遅くなるので、
    画像処理の場合は
    floatが基本だと思ったほうが良い。
    そういう特殊な場面でない限りは、
    普通はdouble。

    駆け足で書いたがわかるかな。
    説明って難しい。
  • 6 keisa id:EZDgPeU1

    2016-03-12(土) 20:22:21 [削除依頼]
    16進数とかは頭の体操にはなるけど、プログラム言語を
    学んでも全く意味ないと思う。なぜかというと本当は、
    神があらゆるものを創造、現実化しているから。

    有力な根拠を提示することはできないけど、落ち着いて
    考えてみると、きっと私の意見に同調できるようになるはず。
コメントを投稿する
名前必須

投稿内容必須

残り文字

投稿前の確認事項
  • 掲示板ガイドを守っていますか?
  • 個人特定できるような内容ではありませんか?
  • 他人を不快にさせる内容ではありませんか?

閲覧履歴

  • 最近見たスレッドはありません