Atom's tech blog

Pythonを勉強しよう! 扱うデータの種類とn進数の変換

f:id:iAtom:20201106202255j:plain

Python初心者の備忘録.....

今回はPythonで扱う基本データ型とn進数の変換について勉強してみます。

Pythonで扱う基本データ型

データの種類型 値の例 説明
整数型 int型 123 , 3 , -8 intとはinteger(整数)として、小数点を含まないものを示す
整数型 float型 3.14159, -0.34 floatとは浮動小数点数として、小数点を含むものを示す
文字列型 str型 ポイント, point 文字列は「'」(シングルクォーテーション )、「"」(ダブルクォーテーション)で囲んだ文字列
論理型 bool型 True,False 真を示すときは「True」偽を示すときは「False」の2つ値を使う

上記のint型の値の例は、10進数で表しています。数字の前に「-」(マイナス)を入れることで負の値として扱われます。

プログラミングでは10進数だけではなく、2進数、8進数、16進数をよく使用します。

次は2進数、8進数、16進数の書き方を説明します。

2進数、8進数、16進数の書き方

進数 表記例 説明
2進数 0b100,0B111000 先頭に「0b」または「0B」をつけます
8進数 0o100,0O111000 先頭に「0o」または「0O」をつけます
16進数 0x6,0x1f 先頭に「0x」または「0X」をつけます

書き方はわかったが、よく使いたくなるのが10進数で表した数値を「2進数、8進数、16進数」に変換する方法です。

2進数、8進数、16進数へ変換

bin(),oct(),hex()を使用

10進数の整数値を、2進数、8進数、16進数へ変換します。

変換する進数 関数 入力パラメータ説明 出力型
2進数 bin() bin関数のパラメータ値に10進数 文字列型
8進数 oct() oct関数のパラメータ値に10進数 文字列型
16進数 hex() hex関数のパラメータ値に10進数 文字列型
# 変数xに10(10進数)を代入
x = 10
# 2進数に変換し、結果を出力
print(bin(x))
# 8進数に変換し、結果を出力
print(oct(x))
# 16進数に変換し、結果を出力
print(hex(x))

# 0b1010
# 0o12
# 0xa

format()を使用

10進数の整数値を、2進数、8進数、16進数へ変換します。

変換する進数 関数 入力パラメータ説明 出力型
2進数 format() format関数の第一パラメータ1に10進数の数値、第二パラメータに'b' 文字列型
8進数 format() format関数の第一パラメータ1に10進数の数値、第二パラメータに'o' 文字列型
16進数 format() format関数の第一パラメータ1に10進数の数値、第二パラメータに'x' 文字列型
# 変数xに10(10進数)を代入
x = 10
# 2進数に変換し、結果を出力
print(format(x,'b'))
# 8進数に変換し、結果を出力
print(format(x,'o'))
# 16進数に変換し、結果を出力
print(format(x,'x'))

# 1010
# 12
# a

10進数へ変換

int()を使用

文字列の2,8,10,16進数を10進数に変換します。

変換する進数 関数 入力パラメータ説明 出力型
2進数 int() format関数の第一パラメータに文字列の2進数の数字、第二パラメータに2 整数型
8進数 int() format関数の第一パラメータに文字列の8進数の数字、第二パラメータに6 整数型
10進数 int() format関数の第一パラメータに文字列の10進数の数字、第二パラメータに10 整数型
16進数 int() format関数の第一パラメータに文字列の16進数の数字、第二パラメータに16 整数型
# 変数xに文字列の代入
x = '100'
# 2進数に変換し、結果を出力
print(int(x,2))
# 8進数に変換し、結果を出力
print(int(x,8))
# 10進数に変換し、結果を出力
print(int(x,10))
# 16進数に変換し、結果を出力
print(int(x,16))

# 4
# 64
# 100
# 256
小数点を含む場合は、小数点以下が切り捨てられる
print(int( 3.1415))

#3