#4 基本的なプログラムを作ってみる 3

|

【アルゴリズムを学ぼう】#4 基本的なプログラムを作ってみる 3

 増井 敏克著「Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量」で勉強しています。

2.4 基数を変換する

 ここでは、10進数と2進数の変換、While文による繰り返し、独自の関数の作成について学びます。

 普段使っている10進数をなぜ2進数だとか8進数だとか16進数に変換する必要があるのか。ここが分からないと、知ろうとするモチベも沸かないというものです。基本情報や応用情報技術者試験でもなんでこんなことという思いでやる箇所です。

 本著には特にその説明はないので、ネット情報から拾ってきます。

 https://www.toyoeiwa.ac.jp/ksj/24.pdf

 https://qiita.com/yaju/items/c5da6df2221d5c3611e0

 http://ss.sguc.ac.jp/~rider/basic/charcode.html

 https://note.cman.jp/convert/nsinsu/

 コンピュータが理解できるのは2進数、つまりbit単位ですが、人間が理解するには桁が多くなってしまい不便です。

 8bitで1byteと言われていますが、これは単に決めの問題で、6bitを基本単位としたマシンもあったようです。その後ヒットしたマシンが8bitを基本単位としたものが増え、なんだかんだで2008年にISOやIECの標準化団体が1byteを8bitとすると定義したとのこと。

 8bitでは256通りの情報を持つことができます。アルファベット大文字・小文字で52種類、数字で10種類、よく使う記号30種類程度で92種類程度になります。これだと7bitの128通りで表現でき、実際にASCIIという規格では「0」のNUL(ヌル文字)から「127」のDEL(削除)で収まりますが、8bit目は通信におけるエラーチェックに用いられたりしています。

 最小単位であるbit、つまり2進数では、0,1で表現できますが、1文字を表現しようとすると00000000〜11111111の8桁を用いることになり煩雑です。これを8進数だと000〜377の3桁、16進数だと00〜FFの2桁で表現することができ、実用上は2進数と、8桁を4bit単位で表現できる16進数が多く用いられています。

 本書では、10進数の18を2,3,8,16進数への変換やビット演算を扱っていますが、説明は本書に譲り、コードと実行結果をPDFにしてみました。

 https://drive.google.com/file/d/1blowsF2tbKOTNZawLQc6xDvMdbwffJhx/view?usp=sharing

コメント0

お気に入りに追加しました お気に入りから削除しました