Pythonの浮動小数点表現の指数部分のビット数を取得します
浮動小数点表現の指数部分のビット数を取得するには、Python Numpyのnumpy.finfo()メソッドのiexpattributeを使用します。最初のパラメータはfloatです。つまり、情報を取得するためのfloatデータ型の種類です。
ステップ
まず、必要なライブラリをインポートします-
import numpy as np
float16タイプをチェックしています。 iexpは、指数部分のビット数を取得するためのものです。 minは、指定されたdtypeの最小値です。 maxは、指定されたdtypeの最小値です。 −
a = np.finfo(np.float16(45.9)) print("Number of bits in the exponent portion float16 type...\n",a.iexp) print("Minimum of float16 type...\n",a.min) print("Maximum of float16 type...\n",a.max)
インスタンスを使用したfloat32タイプのチェック-
b = np.finfo(np.float32(22.3)) print("\nNumber of bits in the exponent portion float32 type...\n",b.iexp) print("Minimum of float32 type...\n",b.min) print("Maximum of float32 type...\n",b.max)
インスタンスを使用したフロートタイプの確認-
c = np.finfo(np.float64(29.2)) print("\nNumber of bits in the exponent portion float64 type...\n",c.iexp) print("Minimum of float64 type...\n",c.min) print("Maximum of float64 type...\n",c.max)
例
import numpy as np # To get the number of bits in the exponent portion of the floating point representation, use the iexp attribute of the numpy.finfo() method in Python Numpy # The first parameter is the float i.e. the kind of float data type to get information about. # Checking for float16 type # The iexp is to get the number of bits in the exponent portion # The min is the minimum value of given dtype. # The max is the minimum value of given dtype. a = np.finfo(np.float16(45.9)) print("Number of bits in the exponent portion float16 type...\n",a.iexp) print("Minimum of float16 type...\n",a.min) print("Maximum of float16 type...\n",a.max) # Checking for float32 type with instances b = np.finfo(np.float32(22.3)) print("\nNumber of bits in the exponent portion float32 type...\n",b.iexp) print("Minimum of float32 type...\n",b.min) print("Maximum of float32 type...\n",b.max) # Checking for float type with instances c = np.finfo(np.float64(29.2)) print("\nNumber of bits in the exponent portion float64 type...\n",c.iexp) print("Minimum of float64 type...\n",c.min) print("Maximum of float64 type...\n",c.max)
出力
Number of bits in the exponent portion float16 type... 5 Minimum of float16 type... -65500.0 Maximum of float16 type... 65500.0 Number of bits in the exponent portion float32 type... 8 Minimum of float32 type... -3.4028235e+38 Maximum of float32 type... 3.4028235e+38 Number of bits in the exponent portion float64 type... 11 Minimum of float64 type... -1.7976931348623157e+308 Maximum of float64 type... 1.7976931348623157e+308
-
Cの浮動小数点数のセットビットを数える方法は?
この問題では、1つの浮動小数点値が与えられます。バイナリ表現で設定されたビット数を見つける必要があります。 たとえば、浮動小数点数が0.15625の場合、6つのセットビットがあります。典型的なCコンパイラは、単精度浮動小数点表現を使用していました。したがって、次のようになります。 ビット値に変換するには、数値を1つのポインター変数に取り込んでから、ポインターをchar*型データに型キャストする必要があります。次に、各バイトを1つずつ処理します。次に、各文字のセットビットをカウントできます。 例 #include <stdio.h> int char_set_bit_cou
-
数値の右端のセットビットをクリアするPythonプログラム
以前に設定された数値の右端のビットをクリアする必要がある場合は、「&」演算子を使用できます。 以下は同じのデモンストレーションです- 例 def clear_right_bit(my_val): return my_val & (my_val-1) n_val = 6 print("The vlaue of n is :") print(n_val) print("The number after unsetting the rightmost set bit is ") print(clear_right_bit(n