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

私は理工学系でもなく数字は苦手なのですが、これだけは理解したいのです。

1kb = 1024b

1B = 8b

1KB = 1024B・・・

あってるかどうかわかりませんが・・・
それでは本題に入ります。
例えば5分間の128kbps音声の容量を計算すると、

128 * 300 = 38400b

38400 / 8 = 4800KB

つまり

4800 = 4.8MB

というようになるのが普通ですが、
なぜこのような計算になるのかが私には理解できません。
だって128kbpsというのは

128 * 1024 = 131072b

ではないのですか?それならば、

128 * 1024 = 131072b

131072 * 300 = 39321600b

39321600 / 8 = 4915220B

4915220 / 1024 = 4800.01953125KB

4800.01953125 / 1024 = 4.687519073486328125MB

ということではないのでしょうか??
何故、計算時のこの(38400 / 8 = 4800KB)時点で8を使って割るのかが分かりません。
私は自分が馬鹿げたことを言っているのは分かっています。
数学は得意ではありませんので。
だからこそプロの方々にお願いしたいのです。
誰か猿でも分かる簡単説明で私に教えて下さい><
頭のモヤモヤが晴れなくて昨日からずっと寝られないんです><

A 回答 (9件)

1つ、前提が間違っています。

ビットレートの単位、kbpsのkは通常1000倍です。私も当初1024だと思い込んでましたが、国内外の音楽関係ソフト5種類で確認したところ全て1000で計算してましたね。
それ以外のbit、Byteの前に付くKは1024倍、Mは1024×1024倍が普通です(データサイズを表す場合)。

従って正しい計算は、
128(kbps) × 1000 = 128000(bit/sec.)
128000(bit/sec.) × 300(sec.) = 38400000(bit)
38400000(bit) / 8 = 4800000(Byte)
4800000(Byte) / 1024 = 4687.5(KB)
4687.5(KB) / 1024 = 4.57763671875(MB)
という事になります。
勿論、ビットレートはタグなどを除いた音声データ部のみについての値ですので、実際のファイルサイズはこの数字にタグサイズを加えた値になります。
mp3tagというタグエディタはファイルサイズ、タグサイズ、ビットレートを表示できるので検証の際には役立つと思います。
    • good
    • 0
この回答へのお礼

38400000(bit) / 8 = 4800000(Byte)

これ見た瞬間目から鱗落ちました。
ありがとうございます。

お礼日時:2008/08/29 19:34

#7です



#8さんの発言みてアレ?って思ったので調べ直してみました


確かに通信速度としてのbpsは当初からSI単位に従っており10^3系だそうです。
それに従うと
128kbps * 300sec = 38400kbit = 38400000bit
38400000bit / 8 = 4800000Byte…(一般的なオクテット系とする)

--- ここから先の換算は速度ではなくサイズになるので2^8系になる
4800000Byte / 1024 = 4687.5K(Ki)Byte
4687.5K(Ki)Byte / 1024 = 4.577636718M(Mi)Byte


参考:
・bpsとは 【Bits Per Second】 - 意味・解説 : IT用語辞典
 http://e-words.jp/w/bps.html

・ビット毎秒 - Wikipedia
 http://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83% …


混乱の一例
・[WMT] オーディオとビデオを表現するデータ量 (bps) について
 http://support.microsoft.com/kb/823044/ja
# MSが間違っているのか、圧縮レートとしてのbpsは基数が2^8なのかは
# 確認が取れませんでしたm(__)m
    • good
    • 1
この回答へのお礼

詳しい説明ありがとうございます。
奥が深すぎてこれ以上勉強するとまた分からないことだらけになりそうなので、この辺でギブアップにしておきます。
最後までお付き合い頂きありがとうございました。



回答くれた他の方々も本当にありがとうございました。
また機会があればですが、助けてください。
よろしくお願いします。

お礼日時:2008/08/29 19:37

>1kb = 1024b


>1B = 8b
>1KB = 1024B・・・

 1Kbit = 1024bit
 1Byte = 8bit …(1)
 1KByte = 1024Byte …(2)

細かい事言うならK(Ki)は大文字が正しいです。
判らないと自覚されているなら、うかつに単位を省略しない方が間違えにくいですよ


>128 * 300 = 38400b
>38400 / 8 = 4800KB
>つまり
>4800 = 4.8MB

 128Kbps(bit/sec) * 300sec = 38400Kbit
 38400Kbit / 8 = 4800KByte …(1)よりbit→Byteに変換
 4800KByte / 1024 = 4.6875MB …(2)よりK(Ki)→M(Mi)に変換
# 余り桁が増えると間違いやすくなるので適当なところで変換することが多い


質問者さんの式には計算間違いが二カ所
a) 4800KByteを4.8MBとしているところ
b) 39321600 / 8 = 4915220B(正しくは4915200Byte)


非常に申し上げにくいですが、コレは数学じゃなくて算数です(^-^;



参考:
・QNo.4163702 1ギガバイトは何メガバイトでしょう
 http://oshiete1.watch.impress.co.jp/qa4163702.html

・2進接頭辞 - Wikipedia
 http://ja.wikipedia.org/wiki/2%E9%80%B2%E6%8E%A5 …
    • good
    • 0
この回答へのお礼

キロビットからキロバイトにするのはビットがバイトになるだけで
キロはついてくるということで大体あってますか!?

算数できなくてごめんなさい本当にごめんなさい。

お礼日時:2008/08/29 19:30

こんなこと事書くと質問者はさらにチンプンカンプンになるかも知れないけど


必ずしも「8ビット=1バイト」ではないって事は覚えておきましょう。
    • good
    • 0
この回答へのお礼

意味がわかりません。
ごめんなさい

お礼日時:2008/08/29 19:27

bとBでは意味が違ってきます。


小文字のbはビット、大文字のBはバイトを意味します。
8bit = 1Byte
---
普通の算数では、1000倍ごとに単位がかわりますが、
コンピュータではファイルサイズやメモリ量のみは、2の10乗(1024)倍ごとにK(キロ),M(メガ),G(ギガ),T(テラ)と単位が代わります。
1024Byte = 1KByte

通信速度等をあらわす場合は、普通に1000倍ごとにK,M,Gと単位代わります。
あぁ、ややこしい!
1000bps = 1Kbps
---

音楽のビットレート(bps)ですが
bps = bit/sec = 1秒間の何ビット数

5分間の128kbps音声の容量の場合
・5分=300秒
・128Kbps×300秒=38400Kbit
ビットをバイトに直すには、8bit=1Byteだから8で割ります。
・38400Kbit÷8=4800KByte

ファイルサイズは1024倍ごとに単位代わるから、
・4800KByte÷1024=約4.68MByte

このあたりはややこしいし、面倒だから1000で割って約4.8MBと考えてもさし支えありません。
最近のHDDの容量なんかもパーケージに表記する値は1024じゃなくて1000倍で計算しています。
    • good
    • 0
この回答へのお礼

キロビットを割ったからキロバイトになるわけでしょうか?
ちょっと分かってきたかもしれません。
算数苦手なのでちょっと理解が困難です。
ごめんなさい。

お礼日時:2008/08/29 19:27

>何故、計算時のこの(38400 / 8 = 4800KB)時点で8を使って割るのかが分かりません。



ビット表記をバイト表記に変換してるだけです(1バイト=8ビット)
データ通信レートなどはビット表記が一般的ですが、ファイルサイズなどはバイト表記にするのがお約束です。
なので、こういう手順を踏んでいます。

128Kbps * 300s = 38400Kb ←単位が間違ってたので修正
38400Kb / 8 = 4800KB
4800KB = 4.8MB(1MB=1000KB換算)=4.6875MB(1MB=1024KB換算)

あと、
>39321600 / 8 = 4915220B
これの答え間違ってます。正しくは「4915200」ですよ。

ビット/バイト換算とか1024を使うあたりはコンピューターの世界でのお約束なので、数学は関係ないですね。
(間違ってるところは算数ですし)
    • good
    • 0
この回答へのお礼

なぜ8で割るだけでキロビットがいきなりキロバイトになるのでしょうか????;;;;

お礼日時:2008/08/29 19:25

質問者さんの計算がおかしいのは途中で計算ミスしてるからですね。



>39321600 / 8 = 4915220B

この計算が間違っているから最終的な答えが割り切れないんです。39321600÷8=4915200ですよ。

>4800 = 4.8MB

あと、これも間違いですね。4800KB≠4.8MBです。1MB=1024KBなので4800KB⇒4800KB÷1024⇒4.6875MBとなります。
    • good
    • 0
この回答へのお礼

おっしゃるとおりです。
ですが、あの時点でなぜ8で割ると答えが出るのかが不思議です。

お礼日時:2008/08/29 19:20

>4800kB = 4.8MB


ここだけ1024倍じゃなくて1000倍になってます
    • good
    • 0
この回答へのお礼

申し訳ございません。
おっしゃるとおりです。

お礼日時:2008/08/29 19:18

すいません、「プロ」ってなんですか?


情報処理を生業とする会社の社員など?

まあ、いいや
1 Byte = 8 bit 合ってます。
1024bを1000bに丸める習慣がギョーカイ(プロ?)にあるようです。
よって、誤差?が無視されるようです。

回答が猿っぽくてすいません。
    • good
    • 0
この回答へのお礼

プロ=Professional=専門家ということになりますかね。
分かりやすいように日本語で書けばよかったです。
ごめんなさい。

お礼日時:2008/08/29 19:18

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