- ベストアンサー
プログラミングをやる上で必要なPCの知識
最近javaの勉強をしているのですが、2進数だとかメモリーの仕組みだとかわからにので、躓くことがあります。この躓く理由は、PCが動いてる根本的な仕組みがわからないからだと思います。(CPUやハードディスクがどのように動いてるのか僕はまったくわからない) だから、こういったプログラミングをやる上で必要なPCの知識を図解でわかりやすく解説された本があれば教えてください!
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
基本情報処理の午前の問題を参考書や解説サイトで勉強をされたらいかがでしょうか? 体系的に貴方の望む知識の基礎部分が手に入ると思います。
その他の回答 (7)
- layy
- ベストアンサー率23% (292/1222)
例えば、10進数を2進数にする課題プログラムでも作っているなら学習しないとダメですし、サンプルもありますから作ってみて答え合わせするといいでしょう。 どちらも試験とか興味あるときに学習しないと学習しようなんて思うことないカテゴリーです。n進数のアルゴリズム知ってて損ではないです。どう生かすかは質問者様しだいだと思いますね。
- root139
- ベストアンサー率60% (488/809)
そういった内容だったら、下記の書籍が当てはまるかと。 ■ プログラムはなぜ動くのか http://www.amazon.co.jp/dp/4822283151/ また、下記の本ではメモリ管理と絡めてプログラミングのパラダイムを解説しているので参考になるかと。 ■ オブジェクト指向でなぜつくるのか http://www.amazon.co.jp/dp/4822281957/
- bgm38489
- ベストアンサー率29% (633/2168)
プログラミングをやる上で、2進数だのメモリーの仕組みだのは関係ないです。最初に書いてあっても、流し読みでよい。後から興味がわいてきたら、おさらいするぐらいでよい。 まずは、実際にプログラムを打ち込んで、コンピュータに実行させてみること。そんなこんなやってるうちに、自然とコンピュータの動きが見えてきます。 参考までに… コンピュータにおける2進数というものは、2つの顔があります。 まずは、数字を10進数から2進数に変換して計算すること。これは、コンピュータは1と0の2つの数しか扱わないからです。 2進数でいう10は、10進数でいう2。100は4。100は8です。1000=10^3ですから、1000=2^3となるわけです。 もう一つは、コンピュータに命令を送るとき、ONかOFFかを1か0で表すというものです。これは、プログラミングに大事。人間の作ったプログラムは、1011…と翻訳されるわけです。
- layy
- ベストアンサー率23% (292/1222)
コンピュータでの内部で、どういうところに処理時間がかかるのか、こんなところを知ってて作る方がよりよいでしょうし、 JAVAのプログラムが作れる作れないレベルで習得うんぬんでなくて、1人のプログラマの知識習得と位置付けしてがんばりましょう。 品質面、こういうのは実際には効率悪い等、を追求してみるといいでしょうね。
- kmee
- ベストアンサー率55% (1857/3366)
興味を持つことはいいことです。 でも、Javaの学習には大して効果はありません。 C言語やアセンブリ言語では、メモリの構造や割り当て/解放といったことは必須と言えますが、Javaではそのあたりは自動でやってくれる(むしろ、プログラマの自由にはできない)ので、知識があっても使いようがありません。 2進法や、ビット演算(シフト演算、&,|等の論理演算)は、コンピュータとは独立した考え方です。 これらを理解するのにコンピュータは不要です。 逆に、コンピュータの仕組みを知ろうとすると、どうしてもこれらの知識が必要です。 0と1で表現できる2進法や、真偽の組合せの論理演算が、電子回路上で実現するのに便利だから、コンピュータで使われているだけです。CPUの説明を読んでも、そこに出てくる演算は、Javaの本に出てくるものと同じです。 Javaのような高級言語の目的の一つは、コンピュータの仕組みを抽象化して、プログラマから隠すことです。 コンピュータの仕組みがわからないと躓く、という状況は、初級者のうちは無いはずです。
- layy
- ベストアンサー率23% (292/1222)
情報処理、これに関わる試験がいろいろあり、教科書的な参考書に2進数ほか解説あります。 2進数の0、1はプログラムには使うこと少ないですが、考え方は有益です。真偽、ONOFFのスイッチですし、パターンを割り出すときに使います。メモリもINT、LONG、型を決めるときに無駄がないか意識しましょう。
- SaKaKashi
- ベストアンサー率24% (755/3136)
>2進数だとかメモリーの仕組みだとかわからにので、躓くことがあります。 どんなことに躓いているのでしょうか? Javaでどんなプログラミングするのか分かりませんが、そんなに重要かな? 2進数なんかほとんど関係ないと思うけど。ましてやメモリーの仕組みって必要? 2進数はこの辺りで http://www.atmarkit.co.jp/icd/root/63/5783563.html