ミスチルの大名曲の数々が配信決定!! 31日間無料!!【PR】

来週のIPAのテストに向けて勉強中です。
来週なのにわからないことだらけで焦っています。

8ビットが1バイトですよね?

IPパケット長のフィールドが16ビット、つまり2バイトです。
16ビットで表すことのできるができる大きさは2^16=65536ということも理解できます。
が、単位は何になるのでしょうか?

いろいろなテキストには65536バイトと書いてあります。
65536まで表現できるのはわかるのですが、なんで単位がバイトになるのかが、わかりません。

どなたか教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

他の人も答えているとおり。



16ビットで表現できるのは、65536通りの数値(0~65535)
IPパケットフィールドが表現したいのは、「長さが何バイトか」。
よって65535バイト

どうして単位がビットじゃなくて「バイト」になるか?ってのは
TCPIPの国際規格でそう決まってるからじゃね。
としか言えません。
強いていえば送信単位の都合。
あなたの家の体重計が、どうしてグラム単位じゃなくキログラム単位で数値が振ってあるかと、大差無い気がします。


乱暴な言い方をしますが、
IPAの資格試験はもっと大雑把(=要点を捉えてなぞっていく)な勉強の仕方をしないと、落ちます。
    • good
    • 2

2センチの紙きれがあります。

付箋です。ここに「3万キロメートル」と書くのは自由ですね。
実際にこれを論文の端に貼って考えるときは、3万キロメートルだという意味がそこにはあります。
でも紙は2センチです。

このたとえでわかりませんか。

16ビットというのは、入れもののサイズは2バイトです。それより大きいものではありません。
ここに16進で10、と入れたら、2と言う意味を格納したわけです。
これは2ビットのことかもしれないし2バイトのことかもしれないし、2ギガバイトのことかもしれません。
この入れものには0から65535までの数字つまり65536通りのデータを格納できます。でも入れもの自体は2バイトです。

ここで、新しい用語ですが、覚えてください。データバスとアドレスバスです。
この16ビットの入れものに入っているものを何であると扱うか、という決めをするのです。
データバスというのは、中にはいっているものが数字であるという見方です。2バイトか2キログラムか2冊か2メートルか、わかりませんが中身はデータとみると考えるのです。
アドレスバスというのは、どこを見に行け、という指定をする見方です。
そのデータは自分からみて2バイト先にあるから見に行け、という意味で、2を格納すると言う話です。
アドレスバスとして考えるのであれば2バイトのエリアは、0バイトめからはじめて65536バイトに住所番号をふれるということなのです。

このやり方はコンピュータ技術では非常に重要な考えかたです。
どこを見に行け、ということが、特定の固定した場所に書いてあるということが、です。
    • good
    • 1

勘違いされていませんか。


他の回答者さんも示しているように質問にある65536には単位はありません。
10進数で表現された単なる数値です。
敢えて単位を付けるなら、
   65536種類
となりますよ?
1パケットの中で65536種類の表現ができると言うだけです。
単位は絶対にバイトにはなりません。


逆に考えてみ。
65526バイトって、何ビットで、そして表現できる最大の数値っていくつよ。
テキストを間違って読んでいると思いますよ。
    • good
    • 0

>16ビットで表すことのできるができる大きさ


であれば、2^16=65536通り

16ビットのアドレスで、指定(確保)することが
できるメモリ容量を指す場合は「バイト」になり
ます。

メモリのしくみと種類
http://www.tij.co.jp/lsds/ti_ja/general/mcu_basi …
>メモリは、1バイト(8ビット)の大きさの小
>部屋がぎっしりと並んでいて、各部屋に順番に
>アドレス(部屋番号)が付けられた構成に
>なっています。
    • good
    • 0

2進数に特に単位はありません。



10進数で8ケタでは0から99999999までの数を表すことができますが、特に単位はないのと同じです。具体的な場面では「リンゴが2個」「車が2台」と単位は付くでしょうけど。

メモリアドレスを2進16ビットで表せば、0~65535の65536バイトに対応すると思いますけど。
    • good
    • 0

>なんで単位がバイトになるのか



そのように決めてあるからです。これは単位換算の問題ではありません。「IPパケット長」というフィールドに「何を設定するか」という定義の問題です。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q1バイトは何ビット?

初歩的ですみません。
1ビットは8バイトだったと思うのですが、変わったという話を聞きました。
今は何ビットで1バイトなんでしょうか?

Aベストアンサー

読み方 : バイト
分野 : 情報の表現 > 単位


 情報量の単位。ほとんどの場合、1バイトは8ビット。コンピュータは情報の記憶や処理、伝達をバイト単位で行なうことが多い。

 何ビットをまとめて1バイトとするかは文脈によって異なり、nビットで構成されるバイトを「nビットバイト」(n-bit byte)という。現在では8ビットバイトが最も普及しているため、何の注釈も無ければ1バイトは8ビットと考えて問題ない。

http://e-words.jp/w/E38390E382A4E38388.html

変わったという話は聞きませんが、例外はあるようですね。

Q65536は2の何乗なのでしょうか?

エクセル2003の最終行が65536ですが、これは2の何乗なのでしょうか?
計算方法も一緒に教えてください。
ご回答よろしくお願いします。

Aベストアンサー

 65536が2の16乗である事は先の方々の御回答にある通りです。


>計算方法も一緒に教えてください。

【方法1】
 エクセルで行う場合には、次の様な関数となります。

=LOG(65536,2)


【方法2】
対数の公式には

「数aを底とする数bの対数」=「数cを底とする数bの対数」÷「数cを底とする数aの対数」

というものがありますから、

LOG ₂65536=LOG ₁₀ 65536 ÷ LOG ₁₀ 2

LOG ₂65536=ln65536 ÷ ln2

(lnは自然対数)

という式が成り立ちますので、パソコンの電卓機能を使って求める場合には、

65536と入力→[log]ボタン(常用対数を求めるボタン)→[/]ボタン→2と入力→[log]ボタン→[=]ボタン

又は

65536と入力→[ln]ボタン(自然対数を求めるボタン)→[/]ボタン→2と入力→[ln]ボタン→[=]ボタン

という具合に操作して下さい。


【方法3】
 今回の御質問の様に、2の整数乗である事判っている場合には、筆算でも出来ない事もありません。

1回目  65536÷2=32768
2回目  32768÷2=16384
3回目  16384÷2=8192
4回目  8192÷2=4096
5回目  4096÷2=2048
6回目  2048÷2=1024
7回目  1024÷2=512
8回目  512÷2=256
9回目  256÷2=128
10回目  128÷2=64
11回目  64÷2=32
12回目  32÷2=16
13回目  16÷2=16
14回目  8÷2=2
15回目  4÷2=2
16回目  2÷2=1

という事で16回目で1になる事から、65536は2の16乗である事が判ります。

 又、筆算でも出来る別の方法(計算回数をより少なく出来る)として、2の整数乗である事が判っている数、例えば8388608が2の何乗になるかを求める場合には、

2^2=2×2=4
2^(2×2)=2^4=4^2=4×4=16
2^(4×2)=2^8=16^2=16×16=256
2^(8×2)=2^16=256^2=256×256=65536
2^(16×2)=2^32=65536^2=65536×65536=4294967296

 8388608は65536よりも大きく、4294967296よりは小さいため、8388608は2の16乗よりも大きく、2の32乗よりは小さい事が判ります。
 そこで8388608を65536で割った値を求めますと、

8388608÷2^16=8388608÷65536=128

であり、128は2^4=16よりも大きく、2^8=256よりは小さいため、

128÷2^4=128÷16=8
8÷2^2=8÷4=2

という事から、

8388608=65536×16×4×2=2^16×2^4×2^2×2=2^(16+4+2+1)=2^23

となりますので、8388608は2の23乗である事が判ります。

 65536が2の16乗である事は先の方々の御回答にある通りです。


>計算方法も一緒に教えてください。

【方法1】
 エクセルで行う場合には、次の様な関数となります。

=LOG(65536,2)


【方法2】
対数の公式には

「数aを底とする数bの対数」=「数cを底とする数bの対数」÷「数cを底とする数aの対数」

というものがありますから、

LOG ₂65536=LOG ₁₀ 65536 ÷ LOG ₁₀ 2

LOG ₂65536=ln65536 ÷ ln2

(lnは自然対数)

という式が成り立ちますので、パソコンの電卓機能を使って求める場合には、

65536と入力...続きを読む

Q32ビットと16ビットの違い

画面設定を、32ビットから16ビットにしたらどのように変化しますか、32ビットから16ビットにしたらパソコンの処理速度とかは変りますかヨロシクお願いします。

Aベストアンサー

こんにちは。
画面設定の32ビット、16ビットとは画面の色のことでしょうか?
画面の色だとすると、32ビットから16ビットにすることにより、扱うデータ量が減るので速度は向上すると思います。ただ、32->16で半分のデータ量だから、速度が倍になるというわけには行かないでしょうけど。
それと、色数が減るので写真等などは多少見劣りするかもしれません。
処理速度が気になるようでしたら、32ビット時と16ビットの時で、ベンチマークソフトなどを動かし処理速度の差を調べてみてはどうでしょうか?
ベンチマークソフトを1つあげておきますので
以下のURLから入手してください。

参考URL:http://www.vector.co.jp/soft/win95/hardware/se235775.html

Q2の12乗、32乗・・・という計算の計算方法

2の3乗は2*2*2=8と計算できるのですが、
2の32乗など大きな数字の場合、どのように計算すればよいのでしょうか?
またこの計算の名前はなんと言うのでしょうか?

Aベストアンサー

 このような計算はべき乗といいます。
 Excelなどでは、^で表します。

例 2の3乗:2^3

 問題の32乗ですが、このように計算してみてはどうでしょう。

 2^32=((((2^2)^2)^2)^2)^2

 つまり、32=2^5=2×2×2×2×2 ですから、上のような式が成立します。
 べき乗の計算においては、たとえばn=m×pという場合、

 x^n=x^(m×p)
    =(x^m)^p

が成立します。このようにすれば、乗数が大きくなっても分解していくことで、段階的に計算していくことができます。

QWordで、1ページを丸ごと削除するには?

1ページしか必要ないのに、真っ白な2ページ目がその下に表示されてしまった場合、この余分な2ページ目を一括削除(消去)する為に、何かいい方法があるでしょうか?

Aベストアンサー

<表示されてしまった場合>
これはそれなりに理由があるわけで、改ページや改行によって、次のページにまで入力が及んでいる時にそうなります。
特に罫線で表を作成し、ページの下一杯まで罫線を引いたときなどには、よくなる現象です。

さて、メニューの「表示」で段落記号にチェックが入っていないと、改行や改ページなどの入力情報が見えず、白紙のページを全て選択→削除してもそのままということが良くあります。
1 改行マークが白紙のページの先頭に入っていれば、それをBackSpaceで消してやる。
2 罫線を使っている場合は、それでも効果がない場合がありますが、その時は行数を増やしてやる。
などの方法があります。

QNをkgに換算するには?

ある試験片に40kgの重りをつけた時の荷重は何Nをかけてあげると、重り40kgをつけたときの荷重と同等になるのでしょうか?一応断面積は40mm^2です。
1N=9.8kgfなので、「40kg=N×0.98」でいいのでしょうか?
ただ、式の意味がイマイチ理解できないので解説付きでご回答頂けると幸いです。
どなたか、わかる方よろしくお願いします。

Aベストアンサー

こんにちは。

kgfはSI単位ではないですが、質量の数値をそのまま重さとして考えることができるのがメリットですね。


>>>
ある試験片に40kgの重りをつけた時の荷重は何Nをかけてあげると、重り40kgをつけたときの荷重と同等になるのでしょうか?

なんか、日本語が変ですね。
「ある試験片に40kgの重りをつけた時の引っ張りの力は何Nの力で引っ張るのと同じですか?」
ということですか?

・・・であるとして、回答します。

40kgのおもりなので、「おもりにかかる重力」は40kgfです。

重力は万有引力の一種ですから、おもりにも試験片にも、地球からの重力はかかります。
しかし、試験片の片方が固定されているため、見かけ、無重力で、試験片だけに40kgfの力だけがかかっているのと同じ状況になります。

試験片にかかる引っ張り力は、

40kgf = 40kg×重力加速度
 = 40kg×9.8m/s^2
 = だいたい400N

あるいは、
102グラム(0.102kg)の物体にかかる重力が1Nなので、
40kg ÷ 0.102kg/N = だいたい400N


>>>1N=9.8kgfなので、「40kg=N×0.98」でいいのでしょうか?

いえ。
1kgf = 9.8N
ですね。


>>>一応断面積は40mm^2です。

力だけでなく、引っ張り応力を求めたいのでしょうか。
そうであれば、400Nを断面積で割るだけです。
400N/40mm^2 = 10N/mm^2 = 10^7 N/m^2
1N/m^2 の応力、圧力を1Pa(パスカル)と言いますから、
10^7 Pa (1千万パスカル) ですね。

こんにちは。

kgfはSI単位ではないですが、質量の数値をそのまま重さとして考えることができるのがメリットですね。


>>>
ある試験片に40kgの重りをつけた時の荷重は何Nをかけてあげると、重り40kgをつけたときの荷重と同等になるのでしょうか?

なんか、日本語が変ですね。
「ある試験片に40kgの重りをつけた時の引っ張りの力は何Nの力で引っ張るのと同じですか?」
ということですか?

・・・であるとして、回答します。

40kgのおもりなので、「おもりにかかる重力」は40kg...続きを読む

Qべき乗

べき乗とは一体なんですか?
ウィキを見ても理解できませんでした。
2の2乗は2×2ですが、
2のマイナス2乗は一体どのような式なのですか?

Aベストアンサー

算数の延長線上だけの概念だけだといまいち理解出来ないですよね。
べき乗って要は指数なんですけど、
そういう難しい話を出来るだけ捨てて、算数の世界で説明出来る位まで掘り下げて説明します。

例えば 10の2乗は100、10の3乗は1000となります。
これを数字の動きに目を合わせてもう一度、書いてみます。
00010.00000 ←これを2乗すると↓
00100.00000 //10という値が左に1つずれた結果が答え

00010.00000 ←これを3乗すると↓
01000.00000 //10という値が左に2つずれた結果が答え

こういう風に表す事が出来ます。
じゃあ、10のマイナス2乗ってなった場合はどうなるのかというと、
00010.00000 ←これを-2乗する↓
00000.01000 //10という値が右に3つずれた結果が答え

という答えになります。
1を基準点として、右や左にいくつずれるか。
これがべき乗なのです。


で、2のべき乗を考えた時は、
全部2進数で考える必要があります。
00010.00000 ←2進数で表した数値の2
00100.00000 ←2乗した結果。数値で言うと4
00010.01000 //-2乗した結果。数値で言うと0.25


これで何となく分かっていただけたでしょうか?
ちなみに37のx乗を計算するみたいな時があったとしたら、
それは37進数で考えるという計算が必要になるのです。

算数の延長線上だけの概念だけだといまいち理解出来ないですよね。
べき乗って要は指数なんですけど、
そういう難しい話を出来るだけ捨てて、算数の世界で説明出来る位まで掘り下げて説明します。

例えば 10の2乗は100、10の3乗は1000となります。
これを数字の動きに目を合わせてもう一度、書いてみます。
00010.00000 ←これを2乗すると↓
00100.00000 //10という値が左に1つずれた結果が答え

00010.00000 ←これを3乗すると↓
01000.00000 //10という値が左に2つずれた結果が答え

こういう風...続きを読む

Qfloat型とdouble型の変数の違いを教えてほしいです

float型とdouble型の変数の違いを教えてほしいです
2Dゲームを作っててdoubleの変数を使ってたんですが使ってはだめだと先輩に言われたんです。
理由を聞いたら、先生が「doubleは使わないほうがいい」と言われたらしくてちゃんとした理由がわかりませんでした。
それを知って何をするということではないんですが、気になって調べても出てこなかったので質問させてください。
まだゲーム作りを始めたばっかりでぜんぜん詳しくないですが教えてくれたら助かります。

Aベストアンサー

doubleとfloatでは、精度が違い、そのためメモリに占める大きさも違います。
また、一般的には、桁が多いとその分計算時間がかかります。
ですから、精度が必要ない場面では、floatを使う、というのも一つの考えかたです。

ですが、実際には「一概に言えない、処理系依存」です。

以前は全てCPUで計算していたので、精度=計算量でした。
しかし、最近では浮動小数点演算専用の回路が付いているケースが多く、計算時間は同じだったり、doubleに変換が必要でその分floatの方が遅かったり、floatでの演算はより高速にできたり、と様々です。
32bitCPUでは、32bitのfloatの方が扱いやすいでしょうが、64bitCPUでは64bitのdoubleの方が扱いやすいかもしれません。
Cのmath.hで使える標準関数はdouble型のものがほとんどです。三角関数は2Dのゲームでも使う機会が多いのではないでしょうか。sinもcosもdouble型です。内部演算は当然doubleですので、変数にfloatを使ったからと早くはならず、むしろfloat型の変数に入れるときに暗黙の型変換が発生する分遅くなる可能性もあります。

そういった背景を考え検討した結果、floatを使う方がよい、と判断したのならいいのですが、「先生に言われた」では理由になりません。
聞けるのなら、その先生に理由を聞いてください。真意がわからないうちは、鵜呑みしないことです。

doubleとfloatでは、精度が違い、そのためメモリに占める大きさも違います。
また、一般的には、桁が多いとその分計算時間がかかります。
ですから、精度が必要ない場面では、floatを使う、というのも一つの考えかたです。

ですが、実際には「一概に言えない、処理系依存」です。

以前は全てCPUで計算していたので、精度=計算量でした。
しかし、最近では浮動小数点演算専用の回路が付いているケースが多く、計算時間は同じだったり、doubleに変換が必要でその分floatの方が遅かったり、floatでの演算はより高速...続きを読む

Q単相モーターと三相モーターの違い。その利点と欠点。を教えてください。

位相の数が違う。といってもその「位相」って言葉から複雑怪奇。バカにでも理解できるようにわかりやすい言葉で教えてください。
単相と三相の利点と欠点。使い分け方。マメ知識なんぞ教えてください。
恥ずかしくて誰にも聞けないんです。

Aベストアンサー

一番大きな違いは、簡単な構造で、起動できるか(自分で回転を始められるか)どうかだと思います。一番簡単な構造である 誘導電動機で三相の場合はスイッチを入れるだけで回転を始めますが、単層の場合は、唸っているだけで回転を始められません。単相電動機でも何らかの方法で回転させれば、(例えば手で回しても良い、回転方向は、回してやった方向で決まる。)回転を続けます。この方法には、コンデンサー起動、反発起動等がありますが 1/2HPぐらいまでの小さなものに限られます。町工場など住宅地では、三相交流の供給が受けられませんので苦労したこともありました。


hp

Q「いずれか」と「いづれか」どっちが正しい!?

教えて下さいっ!
”どちらか”と言う意味の「いずれか」のかな表記として
「いずれか」と「いづれか」のどちらが正しいのでしょう???

私は「いずれか」だと思うんですが、辞書に「いずれか・いづ--。」と書いてあり、???になってしまいました。
どちらでもいいってことでしょうか?

Aベストアンサー

「いずれか」が正しいです.
「いづれ」は「いずれ」の歴史的かな遣いですので,昔は「いづれ」が使われていましたが,現代では「いずれ」で統一することになっていますので,「いずれ」が正しいです.


人気Q&Aランキング