charは文字データ型を指します。一文字分の文字コードの格納を想定としている型です。
C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。
ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。
Q&A
解決済
3回答
1557閲覧
総合スコア19
0グッド
0クリップ
投稿2019/01/27 15:27
0
ネットワーク分野でunsigned charやunsigned short intなどの符号なし整数型が多用されるのはどうしてですか?何か利点があるのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
2019/01/27 18:26
回答3件
ベストアンサー
たんにバイトデータやワードデータを扱うときに、意図しないときに符号拡張が起こってしまうとややこしいから、でしょうね また、単純な大小比較するにも、符号付きだとややこしくなるのはわかるでしょうか。
投稿2019/01/27 21:37
総合スコア87774
回答へのコメント
2019/01/27 22:39
負の数の表現方法は、何通りもあります。C言語で認められているものだけでも、一般によく使われる「2の補数」以外に、「1の補数」や「符号+絶対値」のような表現も認められています。
そして、ネットワークの制御のためにやり取りされる値は「負の数が入らない」あるいは「数量ではないので、全部が正の数と約束すればそれで問題ない」値が大半なので、符号なしにして全部正の値としたほうが、ハンドリングも楽になります。
投稿2019/01/28 00:12
総合スコア145183
異なる処理系との通信も考慮すると 通信手順の仕様については厳密に決める必要があります。 そうすると、わざわざ負の符号について仕様上決められていないのならば それは非負の整数ということになるのでunsignedが頻発するのでしょう。
unsigned
投稿2019/01/28 00:24
総合スコア15147
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.48%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
ネットワーク分野でunsigned charなどの符号なし整数型が多用されるのはどうしてですか?