• ベストアンサー

プログラミングは初心者なため、doubleについての問題がまったく分か

プログラミングは初心者なため、doubleについての問題がまったく分かりません・・・。できるだけ初心者にも分かりやすく簡単に回答していただけると幸いです。 1、double型の変数で扱える桁数を超えた桁数の数値を、double型の変数に入れると、制限を超えた桁数の部分がどのように扱われるか答えよ。 2、なぜ上記の1、ようにdoubleに制限があるかについて理由を答えよ。 回答お願いします!!

noname#129431
noname#129431

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

  • ベストアンサー
  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

1.はいらない物ははいらない。 2.メモリは無限大ではない。

その他の回答 (2)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

参考。 浮動小数点数型 誤差 この2つの観点でこのDouble型の説明を探してみましょう。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

C言語のことか? 「1、double型の変数で扱える桁数を超えた桁数の数値を、double型の変数に入れると、」 ふつうは,入れようとしても入らない。 「入れると」といっているが,逆に,どうやって入れたのかそれを知りたい。 ふつうは,制限を越えた部分は,切り詰められて入らない。 「2、なぜ上記の1、ようにdoubleに制限があるかについて理由」 すべての変数は,一般にどれほどのメモリを使うのか,はじめに変数の型の宣言をしているはず。 その宣言以上の桁数は扱えない。 任意桁数を扱える言語がないわけではないが,のふつうの言語では,型が決まっていて,その型で扱える精度は決まっている。それは,メモリ容量が無限ではないからだ。

関連するQ&A

  • プログラミング 関数の問題について

    どうもお世話になってます。プログラミングの問題ですが問題を見てもよく分らないので答えを教えてください。 double型の数値を引数にして呼び出されたら、それまでに渡された数値の最大値を返す関数 double maxd(double)を完成しなさい。 (1)maxd((2) x) {(3) int i=0; (4)double max; if((5)){ (6); (7); }else if((8))(9); return((10)); } 知り合いに聞いてみたところ (1)double(2)double(3)static(4)static(5)i=0(7)max = x(8)max < x(9)max = x(10)max と言われて説明してもらったのですが、説明してもらってもよく分りませんでした・・・。(そもそもプログラミング分かってないのですが・・・。) 答えだけ聞くのは本末転倒なのですが、上の答えで合っているのでしょうか?もし違っていたら申し訳ないですが正しい答えを教えてください。よろしくお願いします。

  • double型の足し算について

    Java初心者です。 よろしくお願いいたします。 double型の変数に数値を代入して、足し算をするプログラムを組んだとして、 例えば、 10.5 と 1.5 を 代入すると、答えは 12.0 になりました。 問題ないです。 しかし、 数値をいろいろ変更してみると、おかしな答えになるケースがある事を発見しました。 例えば、 4.1 と 3.8 を代入すると、 7.8999999999999995 となったり、 1.8 と 2.1 を代入すると、 3.9000000000000004 となったりするのです。 なぜそうなるのか、よくわかりません。 わかり易い解説をして頂けると嬉しく思います。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • doubleについて

    すみません、下記のコードで double ans5 = (7+32)/(double)5; System.out.println("(7+32)/5は" + ans5 + "です。"); 右辺のdoubleが何故つくのかわかりません。5はintでいいと思うのですが、出る答えdoubleなので左辺をdoubleで指定しますよね?ならば、出てくる答えも自然doubleになるのではないのでしょうか? よく割り算の場合、左辺はdoubleで右辺の割る部分もdoubleで指定してありますすが、そういう決まりなんですか? 一度、消して実行したところ、やはり、小数点以下は切り捨てられていました。そういうものだと、このコードは分かっても他に応用が利かないので、詳しい方、教えてください。 かなり初心者ですがよろしくお願いします。」

  • Java初心者です。

    Java初心者です。 --------------- double f; m = 9; n = 2; f = m/n; System.out.printf("%5.1f\n",f); f = (double)m/n; System.out.printf("%5.1f\n",f); --------------- 上記のような記述で実行すると、 --------------- __4.0 __4.5 --------------- という実行結果が得られました。 %5.1f の 5の数字って全体の桁数を指すんですよね。 実行後、全体で4桁しかないように見えるのですが、もしかして小数点も桁数にカウントされるんでしょうか? それと、f = m/n 及び f = (double)m/n の違いが分かりません。 初めから f は doubleで宣言してあるのに、なぜ f = m/n では4.5にならないのでしょうか? 回答よろしくお願いしますm(_ _)m

    • ベストアンサー
    • Java
  • 正規分布の問題なのですが

    統計学の本を読んでいて問題があり、その答えしか出ておらず 解き方の細かい部分がよくわからないのです。 人の重さは正規分布N(65,100)に従う。制限重量800kgのエレベーターに 12人が乗ったときに重量オーバーとなる確率を求めよ。 という問題なのですが…。 どのように変数変換したらよいのでしょうか? とある変数Xがあって、X~(65,100)のとき Y=12X~(12×65,12^2×100)で行えばいいのでしょうか? でも答えが0.2819となるらしいのですがならない気がします。。。 よろしくお願いします。

  • プログラミング初心者にお勧めの言語

    中1です。 小5くらいから簡単なプログラミングは(独学で)やっていて、 もう少し本格的にやってみたいと思うのですが、Python、Javascript、 Rubyなどどれが良いかわかりません... できれば将来も使える言語、または応用できる言語でお願いします。 今までScratch(変数等マスターしたつもりです)と、バッチファイルを少しいじったことがあります。 また、コードの書き方などは一応把握しているつもりですが、何を準備すれば良いのか(環境)がよくわかりません。 質問は (1)初心者におすすめの言語 (2)準備する事 です。回答お願いします。できれば将来も使える言語、または応用できる言語でお願いします。 今までScratch(変数等マスターしたつもりです)と、バッチファイルを少しいじったことがあります。 また、コードの書き方などは一応把握しているつもりですが、何を準備すれば良いのか(環境)がよくわかりません。 質問は (1)初心者におすすめの言語 (2)準備する事 です。回答お願いします。

  • プログラミング初心者です。

    プログラミング初心者です。 HTMLで今、電話予約の日時をカレンダーで指定するためのコードを書いているのですが、下のコードはその1部を抜き取ったものです。付属の画像の赤い丸で囲んでいる部分のコードですが、 " placeholder="___年__月__日"のコードの部分なのですが、「XHTML10Transitionlでは、<input>属性で " placeholderを使用することができません」という表示がでてコードが発動しませんどうしたらよいでしょうか? 以下コード 付属写真の赤く囲ってある部分です。 <input type="text" id="input_date1" class="cal lt_004 hasDatepicker" name="time_Ldata01[]" placeholder="___年__月__日" readonly="readonly" value=""> 困っています。回答よろしくお願いします。

  • C言語でのプログラミング

    プログラミングの環境を整えるんですけど、 ダウンロードはして、Cコンパイラ設定してるところなんです。 うまくいったと思って、コマンドプロンプトで、確認したら、認識されてませんになってしまいました>< 多分、システム環境変数「PATH」を設定するときに、すでに入ってる変数値を消して、「;c:\Borland\Bcc55\bin」といれてしまったからだと思うんですけど、 どうそればいいんでしょうか??消してしまった部分はもうわからないし。。。だれか教えて下さい><

  • VC++2010 大きい桁数をBYTE型配列に代入

    VC++2010 VC++2010 大きい桁数をBYTE型配列に代入する件について質問させていただきますがどう考えても変換する方法が思いつかなかったので質問させていただきました。 たとえば18000とかの大きい10進数の数値をBYTE型の配列に代入したいのですが どういうプログラミングをすればできるのかわかりませんでした。 よろしくお願いします BYTE型変数は 三つあり、また大きい桁数の最大値は16777216となります。まず大きい任意の桁数をみっつのBYTE型変数にわけていれる方式になります。 例:16777216を三つのBYTE型変数にいれると。。。 BYTE bValue1 = 255; BYTE bValue2 = 255; BYTE bValue3 = 255; よろしくお願いします

  • C言語 プログラミングの問題 エラーの理由

    C言語のプログラミングの問題です。 以下の文を実行したところ、「segmentation fault」というエラーが表示された。 想定される原因を答えなさい。 ただし書式に対応する、integer_dat(非ポインタ整数変数)と、string_dat(文字列配列変数)の宣言は正しいものとする。 scanf("%d%s", integer_dat, string_dat); 答えとして、 「integer_datに&がついていないのでアドレスで渡せないため。」 と書いてありました。 しかし採点は△でした。 正直非ポインタ整数変数という言葉がわかりません。 他にどのような答えがあるのでしょうか?

専門家に質問してみよう