- ベストアンサー
情報処理における基礎的な計算の解き方について
大学の情報科学の講義で以下の演習問題が示されたのですが、自分の解き方よりもっときれいで解きやすい方法があるように思えてなりません。それに解法が美しくないというか・・・ 僕は、以下のように解いたのですがもっとよい解法や答えの書き方を教えてください。 (問題) 漢字は2バイト(16ビット)で表現される。 では30GBのHDに何文字の漢字を入れておくことができるか。 30行×30文字で書かれたレポート用紙何枚分に相当するか? (僕の解法) 30GB=30×10の9乗(バイト)=3×10の10乗(バイト) 3×10の10乗(バイト)/2(バイト)=30000000000/2=15000000000(文字) 30字×30文字=900文字×2バイト/文字 =1800バイト/枚 15000000000(文字)÷1800バイト/枚=(約)8333333枚 よろしくお願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
1KB=1024B ではなく、1KB=1000Bと考えるならば・・・・ 30GB=30×10^9 として、 HDの収録文字数は 30×10^9(B)/2(B/文字)=15×10^9(文字) レポート用紙換算では 15×10^9(文字)/(30(文字/行)×30(行/枚))=1.666×10^7(文字/枚) となります。
その他の回答 (6)
- D-JAGA
- ベストアンサー率28% (39/139)
解法が美しくないと思われるなら、総容量を原稿用紙1枚分の容量で割る形が良いと思います。 解法1.30GB=3×10の10乗と考えた場合、 30字×30文字=900文字×2バイト/文字 =1800バイト/枚 3×10の10乗(バイト)/1800バイト(/枚)=16666667(枚) 解法2.厳密に30GB=30×2の30乗と考えた場合、 解法1と同様にして、 30×2の30乗(バイト)/(3の2乗×10の2乗(バイト))=(2の29乗)/(3×5)(枚) というところでどうでしょう。
お礼
二つも解法を示してくださり、ありがとうございました。 この解法は美しいですね!
#5です。 補足説明ですが・・・ 1000MB=1GB というのは決して誤りではありません。 HDメーカーはこれを採用しており、一方Windowsでは1024MB=1GBで扱っているので、プロパティをチェックしてみると、小さく表示されているのが判ります。
お礼
>1000MB=1GB というのは決して誤りではありません。 >HDメーカーはこれを採用しており そうなんですか~知りませんでした。 先生もおそらくこれを意識しているんじゃないかと思います。
- Chronos198
- ベストアンサー率30% (105/349)
細かく言えばフォーマットサイズや保存形式によってヘッターやらなにゃらと・・あるんですが、それは考えないとして。 コンピュータにおいて、"1kByte"とは"1024Byte"の事を言います。 同様に、"1MByte"とは"1024kByte"、"1GByte"とは"1024MByte"を指します。 (問題に"ただし1kByteを1000Byteとして計算する"等とあればこの限りではありませんが。) 多分引っ掛けはここだと思うんですが・・あとは小学生の算数レベルです。 自分であれば1kByteに書き込める文字数を計算し、それを倍々に増やす方法で計算しそうです。 それと、レポート用紙換算する計算ですが、bruelightさんの計算では "30GByteに書き込める文字数"を"原稿用紙1枚に書ける文字のByte数"で割ってしまっているので、 それでは正しい答えが出ないかと思われます。
お礼
1kByteを1000Byteとして計算するみたいです。 先生もそれで確か計算していました。 >"30GByteに書き込める文字数"を"原稿用紙1枚に書ける文字のByte数"で割ってしまっている ああ!そうでした。 1800バイト/枚÷2(バイト)=900文字 としてそれから900で割らないといけませんよね。
- coo1111
- ベストアンサー率30% (72/233)
まー、30G全部使えるとして要点となるかもしれないところだけ・・・・ 1000=1K 1000K=1M これはメートルなどではそうなんですがコンピュータの世界では当てはまらないことがあります。 コンピュータの世界では2進法を使うので 1024バイト=1KB 1024KB=1MB 1024MB=1GB と考えます。 それと10進法でそのまま計算したとして >15000000000(文字)÷1800バイト/枚=(約)8333333枚 そのあとにも.33333・・・・ と続くわけですから正確には8333334枚目がないと全部書ききれません。
補足
>コンピュータの世界では2進法を使うので >1024バイト=1KB >1024KB=1MB >1024MB=1GB >と考えます。 そーなんですか! 先生は、 キロK 10の三乗 メガM 10の六乗 ギガG 10の九乗 板書し、僕はこれをもとに考えていました。 これにそって教えてくださると助かります。
- sasa777
- ベストアンサー率0% (0/2)
30GBは30×2の30乗(byte)ですので正確には 30×1,073,741,824=32,212,254,720(byte) 32,212,254,720/2=16,106,127,360(文字) 16,106,127,360/900(1枚の原稿の文字数)=17,895,697.07(枚) ⇒17,895,697(枚) となります。質問のほうでは文字数を計算した後に再度、1文字当り2バイトで割算をしている思います。 計算の順序には問題ないと思いますよ。
補足
30GBは30×2の30乗(byte)というのがわかりません。 Gは、10の9乗と習ったのですが、これと上の計算がつながらないのです・・・
- nrb
- ベストアンサー率31% (2227/7020)
30GBのHDでフォーマットすると記録できる容量減るんだけど そんなのは無視なんでんしょうか ファクトの容量とか 無視なんでしょうか 30GBのHDはフォーマット後記録できる最大容量なんでしょうか それに記録すると、ヘッターとか、色々付け無いと記録できないですが その辺、どうすのですかね 漢字は2バイト(16ビット)で表現される。 では30GBのHDに何文字の漢字を入れておくことができるか。 30行×30文字で書かれたレポート用紙何枚分に相当するか? では 条件が成さずぎて回答不能です
お礼
全部無視して下さい。 この講義は、文系の一年生向けなのでそこまで詳細な条件はないです。 おそらくバイトやギガバイトなどの単位に慣れさせるための演習問題です。
お礼
わかりました!!! こういうのを求めていたんです! 本当にどうもありがとうございました。