############################################################## 桁数のコントロールについて ############################################################## ========================================================= 指数部と仮数部の分離 ========================================================= .. literalinclude:: codes/mantissa_and_exponent.py :language: python または、指数部だけなら、ワンライナー .. code-block:: python exp = math.floor( np.log10( abs( value ) ) ) if ( value != 0 ) else 0.0 ========================================================= PHITSへの入力など文字列で数値出力時に、桁を揃える ========================================================= .. literalinclude:: codes/return__digitsAligned.py :language: python * PHITSなど、文字列で入力ファイルを作る際には、桁が異なる2数の和・差を求めると、異なる値になりえる. - 例えば、x0=1.111 の位置から、dx=0.01234 の円柱を伸ばすような命令を連続して3本生やす. - 共に、有効数字は4桁 だが、最低桁の指数が異なる. * 考えている動作 - 1本目 [ 1.111 - 1.124 ] - 2本目 [ 1.124 - 1.136 ] - 3本目 [ 1.136 - 1.148 ] * 実際、命令を書いたとき、 - 1本目 [ 1.111 - 1.12434 ] - 2本目 [ 1.124 - 1.13668 ] - 3本目 [ 1.136 - 1.14902 ] * dx と、各x0の桁数が異なることが問題. * 上記の桁数を合わせる命令で.例えば、最小桁は10桁目、までと合わせるのがよい. * :red:`指数表示の際は、これが適用されないことに注意.`