プロが教えるわが家の防犯対策術!

VGAサイズ(縦480×横640)の画像で1024色カラー表示ができるとき、この静止画のデータ量は何KB(キロバイト)になるか。ただし1000Bを1KBとし圧縮していないものとする。

この問題が分かりません。

色数が256色で1Bだから、256×4で1024になるから4B。
KBに直すと0.004KB ですか?

どうやるのですか?

質問者からの補足コメント

  • 1024色が10ビットだというのは、色数を「2の何乗」の形にして、その指数が色数の容量・・という計算方法なのですか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2020/05/07 14:09

A 回答 (7件)

#1です。



> 640x480x10=3072000bit
> 1バイトが8bitだから
> 3072000*8=24576000
> 1000バイトが1キロバイトだから
> 24576000/1000=24576KB

「ビット」という単位を「バイト」という単位に換算するには 8 で割ります。(8ビット=1バイト ですから)
因って3行目以降は、
 3072000 ÷ 8 = 384000
 1000バイトが1キロバイトだから
 384000/1000=384KB
となります。
なお、1024バイトを1キロバイトとする数え方もあるので注意してください。
これは 2の10乗 が1024になることでキリが良いという考え方によります。
    • good
    • 0
この回答へのお礼

分かりました ありがとうございます

お礼日時:2020/05/08 22:47

No.2 です。

「補足」に書かれたことについて。

>1024色が10ビットだというのは、色数を「2の何乗」の形にして、その指数が色数の容量・・という計算方法なのですか?

「2進数」という数え方をご存じないのですか?
2^10 = 1024
ですから、「10ビット」あれば、2進数で
 0~1023
の数を任意に表せるのです。
その「数値」によって、色の「強さ」(RGB の3原色をいくつずつ混ぜ合わせるか)で1024色を区別して表示できるということです。

質問者さんは、この「コンピュータの基本」以外にも、微分方程式や物理の「ポテンシャルと力」など、「基本のキ」を理解していない質問が目立ちます。
どのような経緯で質問されているのか分かりませんが、最低限基本を勉強・理解した上で質問してください。
皆さんせっかく親切に回答しているのに、その回答も全く理解できているように思えません。
    • good
    • 0

1024色という事は、色の種類は1024個。



2進数で1024個数えるには、10ビットあれば良いという事です。
 1つ 0001
 2つ 0010
 3つ 0011
 4つ 0100
 5つ 0101
 …
のようになります。
そうすると、1024個数えるには
 11ビット目だけが ”1” になったら1024個を数えた
という事になる。
しかし、
 0も表現に加えると、11ビット目だけが ”1” になる場合は1025個を数えることになる。
だから、
 11ビット目だけが ”1” になった数から一つ手前の数字…すなわち1ビット目から10ビット目までが全部 ”1” になるまでが1024個
という事になる。
 (100 0000 0000 → 11 1111 1111)
……てことは、10ビットあれば0から1023までの数字を1024個数えることができる。

こんだけの事です。
暗記なんてするもんじゃないぞ。
理由を正しく理解しておこう。
    • good
    • 0

もうちょっと詳しく説明しましょう。



各ビットの重さは、
      二進数
 0111 1111 1111
 ┃┃┃┃ ┃┃┃┃ ┃┃┃┗ 1
 ┃┃┃┃ ┃┃┃┃ ┃┃┗━ 2
 ┃┃┃┃ ┃┃┃┃ ┃┗━━ 4
 ┃┃┃┃ ┃┃┃┃ ┗━━━ 8
 ┃┃┃┃ ┃┃┃┗━━━━ 16 十
 ┃┃┃┃ ┃┃┗━━━━━ 32 進
 ┃┃┃┃ ┃┗━━━━━━ 64 数
 ┃┃┃┃ ┗━━━━━━━ 128
 ┃┃┃┗━━━━━━━━ 256
 ┃┃┗━━━━━━━━━ 512
 ┃┗━━━━━━━━━━ 1024 (このビットまで二進数で数えると1024ってことだ)
 ┗━━━━━━━━━━━ 今回不要
だぜ。

そもそも「2進数で4倍は2ビット分」だ。
納得できないなら計算してみよう。
 256+256+256+256
これを二進数で計算だ。

それと、質問者さんはビットとバイトの違いを理解していないだろ?
その点について自身で調べてみよう。人に聞くよりもそのほうが理解が深まる。
調べても分からないときは、もう一度「補足」に疑問に思う点を書けば良いでしょう。
    • good
    • 0
この回答へのお礼

色数の容量を求めること に対して質問しました。

1024色数が10bitだというのは、何らかの公式のようなものを使ったのか
それとも、ただ暗記するしかない、のか

お礼日時:2020/05/07 19:04

1024色は10ビット。


各ビットの重さは、
 1
 2
 4
 8
 16
 32
 64
 128
 256
 512
 1024
だぜ。
え?11個(11ビット)ある?
ゼロから数えると1023が1024個目になるんだ。すると10ビットで0から1023まで1024個の表現ができるという意味です。
2進数で示すなら
 0 ~ 11 1111 1111
ってこと。
11 1111 1111 が1023ってのは分かるよね。
 100 0000 0000-1=11 1111 1111=1023=1024-1
ってこと。

なおこの時、RGBの各色に対して、
 R:4ビット
 G:3ビット
 B:3ビット
のような割り付けをするのが一般的。
設問にはRGBの各色の解像度が1024色(10ビット)という表現がされていないので、このように解釈するのが正しい。


・・・本題・・・

で、1バイトにまとめることなく、隙間なくデータを詰め込むとすると、
データ量は
 10ビット×480×640
という事になる。(単位はビットです)
あとはこれを計算して、バイトに直し接頭語(キロ:k や メガ:M)を付けて表現しましょう。


・・・余談・・・

>ただし1000Bを1KBとし圧縮していないものとする。
たぶん質問の意味を理解していないと読んだ。
「1024バイトを1キロバイトにするな」と言っていると推測される。
    • good
    • 0
この回答へのお礼

1024色が10ビットだというのはどうやって求めるのですか?
それとも元から決まっていて、それを覚えるしかない ですか?

教科書には、色情報の容量は色数によって違う。
256色→1バイト(8bit)
65536色→2バイト(16bit)
1678万色→3バイト(24bit)

としか書かれていなくて、てっきり256×4で1024になるから4バイト(32bit)になるのかな?と思ったのですが・・・

お礼日時:2020/05/07 13:58

まず、ドット数(画素数)が「縦480×横640 = 307,200」あるのだから、これより少ないわけがない。



この各点について「1024色」。これって「RGB各色が 1024段階」ということかな? (RGB:光の3原色 Red, Green, Blueですよ)
そうすれば、2^10 で各色 10 bit 必要なので、3色で 30 bit。

これで計算すれば
 480 * 640 * 30 = 9,216,000 bit

バイトに換算すれば、
 9,216,000 ÷ 8 = 1,152,000 Byte = 1152 kB
    • good
    • 0
この回答へのお礼

各色が10bitというのは決まりですか?それとも問題文の中から求めた?

お礼日時:2020/05/07 21:28

2の10乗 = 1024 です。


因って 1024色を示すデジタルデータは 10ビット 必要です。
後の計算はわかるね。


> 色数が256色で1Bだから、
このBは「バイト」。 1バイト = 8ビット 
ビット と バイト をきちんと区別すること。
Bと略さず bit、Byte のように誰が見ても誤解されないように書こう。

> 256×4で1024になるから4B。
4は2ビットで表現できる。 2の2乗=4 だから。
因って1024は、256を意味する8ビットと、4を意味する2ビットで合計10ビットになる。
この回答への補足あり
    • good
    • 0
この回答へのお礼

640x480x10=3072000bit
1バイトが8bitだから
3072000*8=24576000
1000バイトが1キロバイトだから
24576000/1000=24576KB 

ですか?

お礼日時:2020/05/07 14:05

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