【前提】
基本情報処理技術者試験の勉強に取り組んでいる初学者です。
【質問内容】
n進数について勉強しているところですが、これを理解すると実務で役立つ場面がイメージできず、調べているところです。n進数(特に8進数、16進数)について理解することで実務で役立った場面などを御教示いただけませんか?
【補足】
試験後に勉強した内容を全て忘れてしまっては意味がないですし、実務で利用できる場面を知ることで記憶に残りやすくしたいと考えております。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答7件
0
ベストアンサー
「8ビットを16進数2桁で表せて便利」ということで、16進数表記されるものは各種存在します。
- 文字コード(たとえば、Unicodeの
U+FFFD
のようなコードポイントも16進数表記です) - カラーコード(
color: #ffffff
) - メモリアドレス
- ビットマスク(2進法で書くと長くなりすぎます)
- IPv6アドレス
一方で、8進法を使う場面はそう多くありません。
- 一部の言語で、
0123
のように書くと8進法として認識される - C言語などでの、
"\033"
のようなエスケープ表記 - Unixのファイルパーミッション(これは3ビットごとに意味が区切れるので、8進法が便利です)
投稿2019/03/20 12:44
編集2019/03/20 12:47総合スコア145192
0
小学校に入って、数字には0から9の10種類があること、桁が1つ違うと10倍の差があること、というような10進数について習ったと思います。
そのおかげで、1個300円のリンゴは、5個1000円のリンゴよりも高いというような判断ができるようになったと思います。
世界中のほとんどの人が10進数を使うことで、数の概念について意思疎通ができるようになりました。
xx進数とは、そういうものです。
現状のデジタル計算機では、信号線の電圧が高いか低いかの2種類を区別し、桁がちがうと2倍・2分の1を表すという2進数による表現が使われています。
それを3桁まとめて扱うのが8進数、4桁まとめて扱うのが16進数なので、デジタル計算機に関する実務には8進数や16進数についての知識が必須です。
10進数が判らなかったら、普段の買い物などで不都合が起きるでしょう。
デジタル計算機を扱うところで8進数や16進数の知識が無い(わからない)時の困難は、10進数が判らなくなった日常を想像すればよいと思います。
==
ところで「実務」って何ですか?
店先の品物の値段表示(10進数)をみて、価格が理解できるというのは、日常生活という実務の一端だとおもうのです。
質問者のいう「実務」とは何でしょうか。
デジタル計算機の関連で8進数や16進数を知らなくても支障がないような仕事は実がありませんから、実務とは言えないと思うのですが。
投稿2019/03/20 13:33
総合スコア6915
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
コンピュータ上でのクラッシュした場合、16進でアドレスでるため、それはどのあたりのメモリででたのかなどの解析を行ったり、色を16進、または8進で指定しなければいけない場合などに使います。
また、デバックなどで、ファイルダンプを行った場合、16進表記の場合などがあり、実際にそれがどのような内容なのか解析する場合に利用します。
投稿2019/03/20 12:35
総合スコア341
0
高校あたりで学ぶ、行列式、微積分が、普通の生活で役に立つ場面がほとんど、無いように、n進数も無いと思います。
ただ、プログラムを作る際には、コンピュータ内部は2進数(0/1)が基本なので、知らないと色々と困る事が多いかもしれません。また、論理演算(And, Or, ...)は、2進数が基本なので、知らないと困りますが、使わなければ、問題有りません。
で、2進数での表記では簡単な数値でも桁数が多くなるので、16進数表記が分かり易くなります。8進数については、今となっては、歴史的事情かと思われます。半世紀くらい前、まだ、コンピュータが高価で一般的でなかった時代に、少しでも廉価にする事情から、8進数が使われました。何といっても、入力が 0~7までで良いので、テンキーで入力できるとか、そんな事情らしいです。(16進数は、 0~Fまで必要)
今となっては、忘れても良いと思うのですが、C言語を使う際には、頭の片隅にいれて置く必要があります。(0 で始まる数字は、8進数。このトラップに注意)
投稿2019/03/20 11:44
総合スコア6383
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/21 03:59
2019/03/21 19:26
2019/03/22 12:47
0
N進法は、級数展開の前準備です。
10 進数は 10^0 * a + 10^1 * b + 10^2 * c + ...
と 10 の冪展開することです。
N 進法は N^0 * a + N^1 + b + N^2 + c + ...
これを発展させると テイラー展開・マクローリン展開 とか、ラプラス変換 につながっていきます。
成分ごとの係数に分解するという概念です。
実務で利用できる場面というのは maisumakun さんの回答でいろいろ列挙されていますね。
投稿2019/03/20 21:36
総合スコア22324
0
片手で 31 まで数えられるようになります。
投稿2019/03/20 12:48
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/20 12:56
退会済みユーザー
2019/03/20 13:08
2019/03/20 13:59
2019/03/21 03:50
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/21 03:52
2019/03/21 11:27