ホームページ バックエンド開発 Python チュートリアル Python で 10 進数と 2 進数を変換する方法

Python で 10 進数と 2 進数を変換する方法

Oct 12, 2017 am 11:12 AM
python バイナリ 10進数

この記事では、主に Python で実装された 10 進数と 2 進数の間の変換関数を紹介します。2 進数と 10 進数の間の変換の原理と、Python の関連する実装スキルを詳細に分析します。必要な友人は参考にしてください。

この記事の例はPythonで10進数と2進数の相互変換機能を実装しています。参考までに皆さんにシェアします。詳細は以下の通りです:

10進数⇒2進数

2を掛けて切り上げます

10進数に2を掛けるとが得られます整数部分小数部分

整数部分は対応する2進数であり、

は小数部分を2で乗算し(前の乗算の結果は新しい小数部分になります)、整数と小数部分は部品が入手できます。

小数部分が 0 になるか、精度要件に達するまでこれを繰り返します

最初に取得するときは最上位ビット、最後に取得するときは最下位ビットになります

例:

2進数の0.25

0.25*2=0.5 四捨五入は0
0.5*2=1.0 四捨五入は1

、つまり、2進法0.25は0.01 (初回は最上位ビット、最後に取得したものが最下位ビット)

0.8125 バイナリ

0.8125*2=1.625 四捨五入は 1
0.625*2= 1.25 四捨五入は 1
0 です。 25 *2=0.5 四捨五入は 0 です
0.5*2=1.0 四捨五入は 1

0.8125 の 2 進法は 0.1101 (最初の結果が最上位桁、最後に取得した結果が最下位桁)


def dec2bin(x):
  x -= int(x)
  bins = []
  while x:
    x *= 2
    bins.append(1 if x>=1. else 0)
    x -= int(x)
  return bins
print(dec2bin(.8125))
      # [1, 1, 0, 1]
ログイン後にコピー

2進数の10進数 ⇒ 10進数の10進数

小数点以下から左から右に、各ビットは


def bin2dec(b):
  d = 0
  for i, x in enumerate(b):
    d += 2**(-i-1)*x
  return d
print(dec2bin(0.8125))
        # [1, 1, 0, 1]
print(bin2dec(dec2bin(0.8125)))
        # 0.8125
ログイン後にコピー
を表します

以上がPython で 10 進数と 2 進数を変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Deepseek Xiaomiをダウンロードする方法 Deepseek Xiaomiをダウンロードする方法 Feb 19, 2025 pm 05:27 PM

Deepseek Xiaomiをダウンロードする方法

テンプレートのメリットとデメリットは何ですか? テンプレートのメリットとデメリットは何ですか? May 08, 2024 pm 03:51 PM

テンプレートのメリットとデメリットは何ですか?

Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表 Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表 Jul 01, 2024 am 07:22 AM

Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表

わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます May 06, 2024 pm 03:52 PM

わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する May 06, 2024 pm 04:43 PM

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する

golang 関数のデバッグと分析の完全ガイド golang 関数のデバッグと分析の完全ガイド May 06, 2024 pm 02:00 PM

golang 関数のデバッグと分析の完全ガイド

どうやって彼にdeepseekに尋ねますか どうやって彼にdeepseekに尋ねますか Feb 19, 2025 pm 04:42 PM

どうやって彼にdeepseekに尋ねますか

評価関数の保存方法 評価関数の保存方法 May 07, 2024 am 01:09 AM

評価関数の保存方法

See all articles