• ベストアンサー

計算式の意味について(Perl)

とあるソースを解析しているのですが、 Perlを初めてまだ日が浅いので 下記の計算式の最後の(1./60.)の意味がよくわかりません。 なぜ数字の後にドットが入っているのでしょうか? どなたかご教示お願いいたします。 $d = ($t - $dly - $t0) - ($c - $c0)*(1./60.);

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

多くのプログラミング言語で、整数と実数は区別されています。 整数/整数は整数になり、小数点以下が無くなります。通常切り捨てです。 例: 1/4=0 実数で計算するなら、実数同士で計算します。 例: 1.0/4.0=0.25 数字だけを記述すると、整数になります。 実数を記述するには、小数点が必要です。 このとき、小数点の上又は下が0の場合、その0を省略できます 1.0→1. 0.3→.3 0→0. 又は.0 詳しくは、その言語の「リテラル」を調べてください。 で、Perlの場合は、この区別が無いので無意味、というのは既出の通りです。 ついでにいえば、これは誤差が大きくなる記述です。1/60をかけるより、60で割る方がいいです。

sukapotan
質問者

お礼

丁寧に説明していただき助かりました。それに追記も指摘されてきずきました。非常に勉強になりました。ありがとうございました。また機会がありましたらよろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

Perl においては無意味です. 「整数/整数」が整数になるような言語だと意味を持つんだけど....

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • お願いします!!!エクセル関数の計算式の意味を教えてください。

    こんばんは。 以前、こちらで下記の計算式を教えていただきましたが、意味がわかりません。 (1)=SUMPRODUCT((A1:INDIRECT("A"&COUNTA(A:A))="A")*(B1:INDIRECT("B"&COUNTA(B:B))="女")*(C1:INDIRECT("C"&COUNTA(C:C))="勤務1")*(D1:INDIRECT("D"&COUNTA(D:D))="OK")) 応用をして使用したいと思いましたが、関数の意味をみてもよくわかりません。 これがこうだから、こういう式になる、というように、この計算式を言葉で説明していただきたいのです。 (2)=SUBTOTAL これもフィルタをかけた際にカウントする式だと思いますが、詳しい事を教えていただきたいです。 申し訳ありませんがどなたか詳しい方、よろしくお願いします。

  • perl 積算の仕方が解らない

    フォートランで作られたデータを、perlで作り直そうと始めました。 なんとか、perlの中で値の計算までは出来たのですが、 下記データの2フィールド目に対して積算の仕方が解りません。 awkでは、awk '{SUM += $2;printf("%s %10.4e\n", $1, SUM)}'でできましたが、 perlで中ではどのようにするのか? 1998-04-20T16:16:00   6.533078e+05 1998-05-01T01:59:00   1.501809e+06 1998-05-05T07:20:00   7.202719e+05 1998-05-05T07:24:00   9.799618e+05 ついでに、御存じでしたら、御教授ください。 awkとperlの計算結果は全く同じにでましたが、フォートランの結果は 下記のように微妙に違ってしまう処がございます。 それは、どうしてでしょうか?     awk,perl の結果    フォートランの結果   フォートランの7ケタの結果  7.202719e+05      7.202718e+05      7.2027181e+05          9.799618e+05     9.799616e+05 9.7996169e+05 以上 よろしくお願い致します。

    • ベストアンサー
    • Perl
  • 微積の計算

    計算の意味がわかりません。 微積の計算です。 ∮(t1→t2)(m/2)*d/dt(v^2)dt=(1/2)mv^2 |(t1→t2) 最後の|(t1→t2)はまっすぐの縦棒に、インテグラルのように、右側の上下にt2とt1があります。 これはどのようなときに現れるのか、 また、このように計算できる過程を教えていただきたいです。

  • 計算がわかりません

    不定積分の計算なんですが、最後の部分がわかりません。その部分だけ書きます。 3x-2=2sinθとおくとdx=2/3・cosθdθ  (cosθdθは分子にかかっている) ~中略~ =-(√3)/3・t+C  (tは分子にかかっている) となるのですが、θ→xに戻すやり方がわかりません。どなたか教えてください。 すみません、あともしよかったら分子にかかっている掛け算の表記法も教えてください(2cosθdθ/3でいいんですか??)

  • エクセルの計算式

    Excel2010を使っています。 ある計算式を作ろうと思ったのですがよくわからないので質問させていただきました。 作りたいのは下記のようなパターンです。 例) A1のセルが4か5の時はC1のセルから、2か3の時はD1のセルから数字を持ってくる。 こんな感じで作りたいのですがどういった計算式でやればいいでしょうか。 アドバイスよろしくお願いいたします。

  • 不定積分の計算について

    不定積分の式で置換不定積分法で解いてますが、 下記は参考書にのっていたものです。 計算をみていくと、どうしてもわからない場所が出てきました。 計算式の最後から2番目より分かりません。教えてください宜しくお願いします。 ∫x(5x-2)^3 dx t=5x-2 とおくと dt=5dx すなわちdx=(1/5)dtとなる。 またx=(t+2)/5 = ∫(t+2)/5 ・t^3 ・ (1/5)dt =1/25 ∫(t^4 + 2t^3 )dt =1/25(1/5t^5 + 2・1/4t^4)+C =1/25(1/5 (5x-2)^5 + 1/2(5x-2)^4 ) + C =1/250 (5x-2)^4 {2{5x-2}+5) + C ← ここから分かりません =1/250(5x-2)^4 (10x+1) + C     ←

  • 地耐力の計算について。

    地盤改良が必要な駐車場の地耐力の計算について、下記の条件で問題ないという計算を教えてください。 内容は、クラッシャーランC-40 t=150  コンクリートt=200  鉄筋はD10-@150ダブルクロス面積33.3m2  荷重は25tです。よろしくお願いします。.

  • LOTO6データをエクセルで計算

    友人からLOTO6のデータを計算して欲しいと依頼されました。 1行のA1からG1まで7個の数字が並んでいます。 例)1、10、18、26、30、38、13 この数字を、1~7をA、8~14をB、15~21をC、22~28をD、29~35をE、36~43をFと自動的に計算する式を教えて頂きたいのです。 同じ行の数字の隣りより7個のセルにABCDEFBと計算出来る方法は有るのでしょうか? 1個づつのセルの計算でも構いませんので 宜しくご教示賜ります様お願い致します。

  • 偏微分の計算(上下左右対称な拡散の計算)

    以下の偏微分の数値計算をしたいと思っています.(添え字などが分かりにくく,申し訳ありません.) ∂C(x,y,t)/∂t=▽{D(φ(x,y))▽C} 計算領域はx-y方向共に500分割されていて,1つの分割長をΔxとします.Dがφ(x,y)の関数なので前に出してD▽^2Cの形にはできません.このとき,以下の考え方が合っているのか教えていただきたいです.お願いします. 簡単のためにx方向だけで考えることにします.まず,後ろ(▽C)の部分を計算します. (▽C)[i]=(C[i+1]-C[i])/Δx.ここで(▽C)[i],C[i]は▽CおよびCのx方向のi番目の要素とします. i番目の▽Cができたので,それを使って前の部分を計算します. ∂C(x,y,t)/∂t={(D[i+1](▽C)[i+1])-(D[i](▽C)[i])}/Δx. この方法で計算はできるのでしょうか? もし,これで良いとすると例えば中心部から左右に対称(上下も同様)に拡散していく計算はできないことにならないでしょうか?Dを前に出せれば左右対称の計算結果になることは分かりますが,Dを前に出せない場合に左右対称にするための計算方法が分からず困っています.「対称なので半分の領域で計算すれば良い」という回答はなしでお願いします.上の考え方が合っているor間違っているだけでなく,正しい解法を教えていただけると助かります.

  • Perlでの文字列操作について

    Perlを使用しての文字列操作について教えてください。 たとえば以下のような数字とアルファベットが順に並ぶ文字列があるとします。 11A4C555D67B114B9423C アルファベットは1文字ですが、数字は何個でも連続で並びます。 この文字列を「数字アルファベット」の部分で分割し、配列に格納したいのですが、うまくいきません。 @array=('11A','4C','555D','67B','114B','9423C') どなたか教えてください。よろしくお願いいたします。

管総理の発言について
このQ&Aのポイント
  • 管総理の発言についての質問において、国民の安心安全を優先する姿勢に疑問を持っている。
  • パラリンピックの有観客についての発言が問題視されており、コロナ感染者の増加に対する強い意思表示を求めている。
  • 管総理の発言には国家を代表する総理としての責任が求められる。
回答を見る