Python には整数の底を変更する組み込み関数はありますか?

WBOY
リリース: 2024-02-05 21:18:07
転載
419 人が閲覧しました

Python 中是否有内置函数可以更改整数的基数?

質問の内容

Python では int() 関数を使用して、基数 10 の整数を基数 x の整数に変換できます。 2

数学インポートログからのを使用して基底間を変換する関数を書くことはできますが、これを行うためにすでにPythonに組み込まれているものがあるかどうか知りたいです。

Python 3 には、任意の 2 つの塩基間で塩基の変更を実行できる組み込み関数はありますか?

int() と同様の制約はありますか (ある場合)?

編集: 明確にするために、int() は基数 10 の最初の引数のみを解釈します。このパラメータを別の基数表現として指定したいと考えています。基本表現として 2 つの引数を必要とする組み込み関数があるかどうか疑問に思っています。 例 (int() が答えではない理由: リーリー

編集 #2: 100 の基数 9 の値を知りたいとします。次のように使用します。 int('100', 9) これにより、値 81 が返されます。 ここで、81 (9 進数) を 10 進数に変換したいとします。これを行うためのPythonの組み込み関数、または基数9の数値を与えていることを示す最初の引数をマークする方法はありますか?

'ob' を使用してバイナリ値を指定し、'0x' を使用して 16 進値を指定する方法があることは知っています。例えば、### リーリー これは値 100 を返します。

最初の引数に別のベース

を指定するためのプレフィックスは何ですか。

正解

整数オブジェクトについて話すとき、それはその基数 n の表現とは異なります。

内部的には整数はバイナリで格納されますが、整数オブジェクト自体には基数がありません。基数を指定し、数値文字列がその基数に対して有効である限り、任意の基数 n の数値文字列から int オブジェクトを構築できます。 10 進数は 10 桁、アルファベットは 26 個あるため、通常は最大 36 に制限されます。

基数 2、8、10、および 16 は最も一般的に使用されるため、いくつかの特殊なケースがあります。これらの塩基の場合、文字列表現自体で塩基を指定します。

0b

0o、または 0x プレフィックスを使用して、それぞれ 2、8、16 を表すことができます。 10 進数がデフォルトで最も一般的に使用されるため、接頭辞は必要ありません。 整数の n 進表現を文字列として返す場合、つまり反転演算 int(n, n) を返す場合、いくつかのオプションがあります。

gmpy.digits(n, n)

を使用できます。ここで、n は int で、n は必要な基数です。 gmpy をインストールする必要があるため、これは少しやりすぎかもしれません。 次のようなものも使用できます:

リーリー

この関数または同様の関数を使用すると、整数 n の文字列表現を基数 n で返すことができます。つまり、次のようになります。 リーリー

以上がPython には整数の底を変更する組み込み関数はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート