「みんな教えて! 選手権!!」開催のお知らせ

例えば、コンピュータとプログラムとで、1GBのやりとりをする時、2MBのやりとりしかしない場合
残り998MB残りますが、この残ったのが、かえってきてそれがバッファということは理解できるのですが、予め用意しておくという方法があるが、それはまた別の話と友人が言っていたのですが、予め用意しておくというのは何というのでしょうか?教えていただけると嬉しいです。

A 回答 (6件)

>残り998MB残りますが、この残ったのが、かえってきてそれがバッファということは理解できるのですが、



この時点でバッファの意味を大きく取り違えています。

バッファというのは、辞書では次のように説明されています。

a place in a computer’s memory for storing information temporarily

つまり、一時的に記憶する領域なのであって、それは全データの事とは無関係です。また、搭載メモリとも無関係です(まあ、上限にはなりますが)。あくまで、データを扱う者が能動的に用意する記憶領域のことです。

たとえば、最終的に計2MBのデータを扱うとしても、一度に10バイトずつ読み込んで処理するといったことを何度も繰り返すのであれば、バッファは10バイトあれば十分ということになります。


なお、bufferの第一義である
someone or something that protects one thing or person from being harmed by another
という意味で仰っているのでしたら、あながち間違いとは言えないかもしれません。
    • good
    • 0

>あっています。


1.1GBのサイズのファイルAがあるとします。
2.ファイルAを読み込んで、その内容を画面に表示するとします。
3.但し、読み込んで表示するのは、先頭の2MBまでとします。
の事例でいうと、
上記のことを行うプログラムは、以下のようになります。
①ファイルからデータを読み込むための領域を作成する。例として、100バイトとします。このファイルを読み込むための領域をバッファといいます。
従って、この場合は、バッファサイズは100になります。
一回の読み込めるサイズは、100バイトなので、読み込んだ分を処理したら、次の100バイト分の読み込みを行います。
②上記の①のようにして、読み込んだサイズが2MBバイトになるまで、繰り返します。そして、2MBになった時点で、処理を打ち切ります。

従って
1.バッファサイズとは、プログラムが確保したデータを読み込むための領域です。(この場合は100バイト)
2.998MBの分が、処理されていませんが、これは、「未処理のサイズ」
とでもいうべきで、特にきまった文言が定着しているわけではありません。
3.口語的には、まだ余裕があることを、「まだバッファがある」などというので、残りの受け入れ可能なサイズのことをバッファと呼んでいるケースもあるかもしれません。但し、但しそれをバッファサイズと呼んでよいかどうかは私はわかりません。(少なくともプログラミングの用語としてのバッファサイズではありません)
4.上記の例ではバッファサイズ=100としましたが、これを大きくとるか小さくとるかでプログラムの性能にかかわってきます。極端な例では、バッファサイズを1バイトにすることも可能です。但し、そうすると読み込みを繰り返す回数が増えるので、処理の速度が遅くなります。
大きくとると、読み込み回数がへるので、処理の速度が速くなります。
    • good
    • 0

>残り998MB残りますが、この残ったのが、


>かえってきてそれがバッファということは理解できるのですが、

私には理解できません。「かえってきて」って何でしょう?

普通大きなデータをシーケンシャルに処理するとき等に
使うバッファ(メモリ)は2 MB の方なんだけど、そういう話ではない?

>予め用意しておくという方法があるが

何を?
    • good
    • 1

>つまり、使わなかったもの(998MB)がバッファになるということです。

教えていただけると嬉しいです。

話がかみ合ってないです。
私は、No2であなたが想定しているのは、以下のようなケースの例であっているか、あっていないかを確認しています。
1.1GBのサイズのファイルAがあるとします。
2.ファイルAを読み込んで、その内容を画面に表示するとします。
3.但し、読み込んで表示するのは、先頭の2MBまでとします。

従って、それに対する返信は、「あっている」「あっていない」
のどちらかです。

もし、あっているなら、その例に従って、バッファの意味を説明します。
あっていないなら、あなたの想定する具体的な例を提示してください。
まずは、「あっている」「あっていない」のどちらでしょうか。
    • good
    • 0
この回答へのお礼

あっています。教えていただけるとうれしいです。

お礼日時:2023/03/10 08:29

>1GBをどのようにやり取りするかということです。

全てで、1GBです。
>で、2MBしかやり取りしない場合、残り998MBは、バッファに置いておくみたいな感じです。

あなたの想定する具体例が思いつかないのですが、例えば、以下のようなケースで良いですか。
1.1GBのサイズのファイルAがあるとします。
2.ファイルAを読み込んで、その内容を画面に表示するとします。
3.但し、読み込んで表示するのは、先頭の2MBまでとします。

上記のようなケースのことを言ってますか?
もし、違うなら、具体的に例を挙げてください。
    • good
    • 0
この回答へのお礼

つまり、使わなかったもの(998MB)がバッファになるということです。教えていただけると嬉しいです。

お礼日時:2023/03/10 08:00

>コンピュータとプログラムとで、1GBのやりとりをする時、2MBのやりとりしかしない場合


>残り998MB残りますが、この残ったのが、かえってきてそれがバッファということは理解できるのですが

具体的にどのようなケースを想定していますか。具体例を挙げて説明していただけませんでしょうか。
    • good
    • 0
この回答へのお礼

1GBをどのようにやり取りするかということです。全てで、1GBです。で、2MBしかやり取りしない場合、残り998MBは、バッファに置いておくみたいな感じです。で、そのバッファが、Stdio.hにあるということです。教えていただけると嬉しいです。

お礼日時:2023/03/09 16:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報