• ベストアンサー

1バイト(Byte)と2バイト(Byte)の差

1バイト(Byte)を仮に水1lと考えた場合!2バイト(Byte)とは水何lになるのでしょうか!?    普通の”掛け算・足し算”みたいにはいかなかったような覚えがあります。  宜しくお願いします。

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

  • ベストアンサー
  • GPRO999
  • ベストアンサー率24% (64/263)
回答No.3

基本は2進数で計算しなければなりませんので 1バイトをひとつのバケツにおきかえると2バイトがバケツ2個というわけにいきません 1バイトのバケツにジャガイモ8個が入ることを基本にして考えるのは如何? 2バイトのバケツには8個の二乗分が入っているわけですから64個になります BitとByteの基本は2進数であるということが解れば簡単でしょう

Campus2
質問者

お礼

分かりやすいご回答ありがとうございました^^ 1バイト(8リットル)×8=2バイト(64リットル)∴1:8  8倍の差がある!    

その他の回答 (2)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

「水1l」なんて物に例えること自体が間違いのもとです。

Campus2
質問者

補足

レスありがとうございます^^ 再度勉強したいと思います。 しばらくお待ちくださいませ!

  • DarkMoon
  • ベストアンサー率21% (225/1046)
回答No.1

バイトの差を具体的に説明するのは難しいと思いますが… 桁の数が違うので、2バイトの方がより多くの「数」を表せます。 1バイトは2進数で8桁の数値なので、 十進数で言う「0~255」の256種類の状態を示せますが、 2バイトは2進数で16桁の数値なので 十進数で言う「0~65535」の65536種類の状態を示せます。 ファイルサイズのお話でしたら、 2バイトは、2リットルのイメージでいいと思います。 1リットルのカップを2個置いているイメージで良いかと。

Campus2
質問者

補足

レスありがとうございます^^ 再度勉強したいと思います。 しばらくお待ちくださいませ!

関連するQ&A

  • byte[2] から int へ。

    それぞれintの下位2バイトのビット列保持するbyte型配列の要素2つを int 形の整数に治したいのですがいい方法が思いつきません。例えば、 byte[0] = 0x01; byte[1] = 0x01; ならば、 00000000 00000000 00000001 00000001 で、256 + 1 = 257 byte[0] = 0x02; byte[1] = 0x10; ならば、 00000000 00000000 00000010 0000011 で、512+3 = 515 です。byteの値が0~127の場合は int n = byte[0] << 8 n = n | byte[1] という感じでいけそうなのですが、byte[0]が 0xFF のような負の値のときにint とのビット演算(もしくはシフト演算)で上位2バイト分も補数表記のためか全部1で埋まってしまい、上の方法はだめみたいです。 byte[0] = 0x01; byte[1] = 0xFF; のときは、 00000000 00000000 00000001 11111111 で、256+255 = 511 としたいのですが、場合わけをせずに求める よい方法はないでしょうか。

    • ベストアンサー
    • Java
  • BYTEについて―

    BYTEについて― わからない事がいろいろと有るのですが、 【1.データの受渡しについて。】 LPBYTE型に入っている32bitのBMP画像(pixel)を BYTE*型(pbyte)に代入する場合 pbyte = (BYTE*)pixel; このコードで問題ないのでしょうか? また、用意した受け皿のサイズを超えたデータを入れた場合、 配列の末尾に\0が入って残りは切り捨てられているのでしょうか? そして、これは正常に動作するやり方なのでしょうか? 【2.LPとは?】 LPBYTEはBYTEのポインタ型と聞きますが、 BYTE*とどう用法が違うのでしょうか?(LPシリーズ全般の疑問ですが) また、LPBYTEもやはり、末尾に\0が入って管理されているのでしょうか? 【3.宣言・定義・使い方について。】 現在、 BYTE* pbyte = new BYTE[10240]; 等と書いてBYTE配列を作っているのですが、 これは宣言と同時に定義している事になるのでしょうか? そして、newしている以上、手動でdeleteしなければならないのですよね? また、これ以外の定義方法も有るのでしょうか? 質問が多岐に渡っていてすいません、 どうも普通の配列と混同しているのか、 頭の中で疑問がグルグル回ってしまっていまして; よろしくお願いします。 っ;_ _)っ

  • byte数について

    日本語だと全角→2バイト 半角→1バイト なはずですが、文字を入力していくと合計byte数が小数点になると 聞いたことがあります。 ※つまりは、120.5byteとかになることがあるということです この情報が本当なのか、本当の場合、どういったケースで小数点が 生じるのかご存知の方いらっしゃいましたらご解答をお願い致します。

  • バイト配列

    以下のようにバイト配列を確保した場合 byte buffer1[] = new byte[2]; byte buffer2[] = new byte[2]; byte buffer3[] = new byte[4]; buffer1[0] = 1; buffer1[1] = 2; buffer2[0] = 3; buffer2[1] = 4; C言語でいうところのmemcpy(buffer3,buffer1,2);memcpy(buffer3 + 2,buffer2,2);のように buffer1とbuffer2を連結したbuffer3を作成したいのですが、どうするのが良いでしょうか? 宜しくお願いします。

    • ベストアンサー
    • Java
  • ルート同士の簡単な計算方法

    分数同士で掛け算するときとわり算と足し算、普通の掛け算とわり算 基本は押さえているのでわかるのですが 簡単な方法があれば教えて下さい

  • 足し算と掛け算とべき乗

    掛け算は足し算の(あ)です。 べき乗は掛け算の(あ)です。 テトレーションはべき乗の(あ)です。 ・・・・・・・ ・・・・・・ この場合(あ)として適切なものは何ですか?

  • 長さ3のバイト配列

    長さ3のバイト配列 0~16777215の範囲の数値がありまして byte[ ] byteArrayA =BitConverter.GetBytes(0x00); byte[ ] byteArrayB =BitConverter.GetBytes(0xffffff); で、 00-00-00 FF-FF-FF と、長さ3固定のバイト配列を返して欲しい場合はどうすればいいのでしょう? そのまんまだとINT16かINT32かで配列の個数が違ってきますよね。 INT32型でだと4個の配列になっちゃいますが、3個でいいんです。 どうしましょう?

  • 計算の順序 a×b÷c

    小学生の算数で, たし算,ひき算は,かけ算,わり算より先 たし算と,ひき算が,又は,かけ算,わり算が, 複数ある時は,普通,左からと習います。 しかし, たし算だけ, かけ算だけなら,どこからでも計算できます。 a×b÷c は,b÷cを先に計算することは,できますか? いくつか,問題を作って解いてみましたが, a×bを先に計算した時と,答えが同じになりました。 よろしくお願いします。

  • 1byteHDDと2byteのHDDの容量差は何倍

    もし1byteのHDDと2byteのHDDを仮に作製したばあい容量差は何倍ですが?  256倍になるのでしょうか!!!???

  • ExcelのSUMを使用して足し算をすると違った答えになります

    合計が違ってきます。 1)Excelの掛け算をした結果(四捨五入の値で表記)を表記されている数値で足し算 2)掛け算されているセルをSUMを使って足し算をする(四捨五入) 合計が違う結果となる場合があるので困っています。