• ベストアンサー

データ量の単位について教えてください

8bit=1B(バイト), 2^10=1024B = 1KB 1024KB=1MB 1024MB=1GB のとき (1)アルファベット26文字×2(大文字と小文字),0~9の数字と30種類程度のよく使う記号(「,」「.」「:」「!」など)に2進数をひとつずつ割り当てて表すとすると,最低何ビット(何桁)必要か. (2)同様に,1万種類の漢字を表すためには最低何ビット必要か. 解き方を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • mink6137
  • ベストアンサー率23% (595/2498)
回答No.5

ご質問の主旨に沿って、「解き方」だけをお示しします。 >(1)アルファベット26文字×2(大文字と小文字),0~9の数字と30種類程度のよく使う記号 >(「,」「.」「:」「!」など)に2進数をひとつずつ割り当てて表すとすると, >最低何ビット(何桁)必要か. 文字、記号の種類数を(26X2 + 10 + 30 =92)とします。 必要な2進数のビット数をNとすると、 2^N=92 より、 N=log92 / log2=6.52 ビット数は整数でなければならないので、ガウスの整数NNを使います。 NN=ceiling (6.52) = 7 すなわち、92種類を表現するに必要な最低ビット数は7ビットになります。 なお、7ビットでは(2^7=128)まで表現可能ですが、このケースでは128-92=36種類空きになります。 >(2)同様に,1万種類の漢字を表すためには最低何ビット必要か. 上と同様に、 2^N=10000 より、 N=log10000 / log2=13.28 ビット数は整数でなければならないので、ガウスの整数NNを使います。 NN=ceiling (13.28) = 14 すなわち、10000種類を表現するに必要な最低ビット数は14ビットになります。 なお、14ビットでは(2^14=16384)まで表現可能ですが、このケースでは6384種類が空きになります。

rider88
質問者

お礼

丁寧な解説ありがとうございました。

その他の回答 (4)

  • maiko0318
  • ベストアンサー率21% (1483/6970)
回答No.4

なぜ1文字(1バイト)が8ビットなのかかんがえてみてください。 別に10ビットでも15ビットでもいい話。 ちなみにアスキーコードは7ビットで1文字を表現します。 8ビットに決まったのはIBM製のEBCDICコードからです。

rider88
質問者

お礼

ご指摘ありがとうございました。

  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.3

2進数で表すとき、ビット数とパターン数の関係は nビットの時、2^n(2のn乗)パターンを表すことができます。 例えば10000通りのパターンを表すためには 2^1(1ビット、2の1乗)・・・2通り 2^2・・・4通り 2^3・・・8通り ・・・ という形でビット数を増やしていって、10000通りを超えた時のビット数が最低でも必要だということになります。 (1)のパターン数の考え方は 26(文字)*2(大文字、小文字)+10(0~9の10通り)+特殊文字 で考えてみてください。 宿題っぽいので答えそのものは書きません。

rider88
質問者

お礼

解説ありがとうございました。

回答No.2

1文字ですよねアスキーコード8Bitで決まっているので、何ビットと言われても最低も、最大も無く8Bitでないと文字が表現できません。7Bit文字や、9Bit文字など存在したらめちゃめちゃです、8Bit=1バイトとかかれていますよね。つまり1バイトで表現できなければ2バイト、3バイトと言う風にするしか無く中途半端な7Bitや9Bitでは、続く文字の処理に困ってしまいます。 2これもJIS、SJis、ECUでバイト数が決まっているので、最低とか、最大とか無いです、文字数が少なければ予備が出来るだけです。

rider88
質問者

お礼

ご指摘ありがとうございました。

  • maiko0318
  • ベストアンサー率21% (1483/6970)
回答No.1

1)合計92文字ですね。   各文字に順に数字をつけていきますと0から91までとなります。   これを2進数で表すと1011011となり、7ビットで良いことになります。 a=0,b=1,c=10,d=11,e=100,・・・ 2)同じく、0から9999までですので、10011100001111で14ビットですね。

rider88
質問者

お礼

解説ありがとうございました。

関連するQ&A

  • 単位について調べてるんですが

    http://www.e-words.ne.jp/page.asp?p=r-unit ここを見て、Bと大文字の時は、バイト、小文字のときは、ビットなんだな、っていうのはわかったんですが、 Kと書くときと、KBと書くとき、両方とも、キロバイトですよね。 たとえば、ADSLの速度が、8Kっていうのと、ハードディスク上の残り要領が、~KBっていうのと、(KBになってるの、見たことないんですが、GB、MBという表現をされる以上、あるのかな?と。)この書き方を違えるときの基準ってあるんでしょうか? ほかにも、ごっちゃになりそうな単位を、わかりやすく、こういうときは、こういう表現と具体的に教えていただけると、大変助かります。よろしくお願いいたします。

  • エクセル VBA セル内の文字検索について

    XP microsoft visual basic 6.0 です A1からA10に書かれた文章(平仮名、カタカナ、漢字、数字、記号、含む)の中に 0から始まる半角8桁の数字があれば 取り出し B列に書き出す VBAを用いてこのようなことは可能でしょうか ※8桁の数字は文章内の何文字目にあるか決まっていない ※文章内に0から始まる8桁の数字が複数あることはない、が、0から始まり記号を含む8桁の文字列はある ご教授ください

  • Windows8.1の必要最低限のメモリは何GB?

     パソコン初心者です。  この度ノートパソコンの中古を購入しようと思ってます。  そこで、Windows8.1 32bit 64bit それぞれ必要最低限の  メモリは何GBになりますか?512MBじゃ動かないですよね?  32bitで1GBじゃきついですか?64bitで2GBは?ぜひ教えてください。  宜しくお願いします。

  • Excelで数字データ以外を取り除く方法

    Excelを使って、何千件もある数値コードのデータの修正をする必要があります。 ただ、このデータは、7桁の数値コードのはずなのに、実際には、5桁から8桁まで桁数が異なるデータもあれば、数字以外の文字や記号も入っています。 そのため、まずは、数値コードに混じる数値以外の文字や記号を取り除こうとしています。0-9の数字以外の文字が記号を削除したいのですが、なんだかうまくいきません。データを数値と認識させると、一桁目の0(ゼロ)が消えてしまったりして。。 Excelに詳しい方、どういう方法があるか教えていただけませんか。 よろしくお願いします。

  • 情報量の単位の問題の解き方をおしえてください

    今、基本情報技術者の資格の勉強をしているのですが、 練習問題で、「英字の大文字(A~Z)と数字(0~9)を同一のビット数で一意にコード化するには、少なくとも何ビット必要か。  ア 5 イ 6 ウ 7 エ 8 A~Zの26字と0~9までの10文字、合計36文字を位置にコード化します。 2^5<36<2^6となり、少なくとも6ビット必要となります。」 と説明してあるのですが、意味がさっぱりわかりません。 2^5 とはまずどんな意味なのですか。 そしてこの問題は何を解こうとしているかが解りません。 解る方おしえてください。

  • 2次元コード、バーコード、RF-IDの性能比較

    8bit(ビット)=1B(バイト)=>2^8=256通りですよね。英数字が256通りでカバーされるので1B文字。漢字ひらがなカタカナは2^16=65536通りでカバーされ、2バイト文字ですよね。 そうすると2次元コードは1KBの容量があるとするならば、理論的には1KB=2^10B=1024Bなので=1024文字の表現が可能で、2B文字なら512文字。またバーコードは128Bとすると1B文字が128文字、2B文字が64文字の表現が可能。 以上の計算でよいのですよね? そしてRF-IDは64KBとすると1024*64文字(1バイト文字の場合)もの表現が可能でしかもメリットとして電波式であるといえますか?

  • 正規表現

    数字と大文字、小文字のアルファベットは入力OK。 記号も入力OK。でも、記号の中でも「”」、「.」は ダメ。しかも、10桁くらい入力できるようにする。 を表す正規表現は [a-zA-Z0-9&&[\"\.]]* と思ったのですが、 正しく表す正規表現はどの様なものになるのでしょうか? お願いします。

    • ベストアンサー
    • Java
  • ビット・バイトの計算の式がわかりません

    学校のデータ単位の授業で、ビットやバイトの計算の問題が出たのですが、答えを教えてもらっても何故そうなったのかがわからないのです。 1. 4000kb + 2.5MB = 3MB 2. 2.5GB + 24,000Mb = 44Gb Bはバイト bはビットです この二問の解き方の式だけがどうしてもわかりません、答えは出てるだけにもどかしいです。(もしかしたら答え自体間違っているかもしれません)

  • 謎の文字列置換(正規表現)

    漢字かな、アルファベット(全角)、数字(半角)の混在した文章中で、二桁の数字のみ文字の前後に記号(例:♪)を付けたいとします。 正規表現に対応した置換ソフトやテキストエディタで 置換前:\b(\d{2})\b 置換後:♪$1♪ とすると、特定の文字の後ろにある二桁数字のみ検索から漏れて置換されないのですが、どこが間違っているのでしょうか。 <使用したテキストエディタ> k2editor <使用した置換ソフト> Speeeeed <置換から漏れる特定文字> 学、浜、工、田、修など <具体例>置換前 23 学23 23学 2323 浜23浜 <具体例>置換後 ♪23♪ 学23 ♪23♪学 2323 浜23浜

  • エクセルでの抽出の仕方

    2桁、3桁の数字と3桁にだけついているアルファベットがあります。数字はそのままでアルファベットを消すというか数字だけ抽出する方法がありましたら教えてください。 例 75 100 100M 100B 55 で、数字だけにしたいです。