コンピュータにおけるデータの保存と操作には「バイナリ」が使用されます。 2進数には「0」と「1」の2つの基本記号しかなく、コンピュータは論理回路で構成されているため、論理回路には通常、スイッチのオンとオフの2つの状態しかなく、この2つに「1」を使用できます。 「0」は状態を示します。
#コンピュータ内のデータはバイナリで表現されます。コンピュータ内のデータは、その基本的な用途に応じて、数値データと非数値データの 2 つのカテゴリに分類できます。数値データは特定の量を表し、正と負のサイズに分割できます。非数値データには、主に文字、音声、画像などが含まれます。この種のデータは、コンピュータに保存および処理される前に、特定のエンコード方式を使用してバイナリ表現に変換する必要があります。
(1). ベースシステムの概念
ベースシステムは、人間が規定したキャリー方法であるキャリーシステムでもあります。任意の基数系 (X 基数系) では、特定の位置の数値が X ごとに 1 桁ずつ実行されることを意味します。 10 進法は 10 分の 1 ごとに 1 つ進み、16 進法は 16 進数ごとに 1 つ進み、2 進法は 2 進数ごとに 1 つ進みます。
桁上げカウントを使用する記数法では、r 基本的な場合のみ記号は値を表すために使用され、それを r 基数 (基数-r 数体系) と呼び、r を数体系の基数 (基数) と呼びます。さまざまな記数体系に共通する特徴は次のとおりです。
(1) 各記数体系には特定の記号セットがあります。たとえば、10 進数体系には 0、1、2...、9 という 10 個の基本記号があります。 2 進数体系には 2 つの基本記号があります: 0 と 1.
(2) 各記数体系は位置表現を使用します。つまり、異なる位置のシンボルによって表される値は異なり、それらの位置の重みに関係します。
例: 10 進数の 1234.55 は、
1234.55=1×10^3 2×10^2 3×10^1 4×10^0 5×10^(- 1) 5 ×10^(-2)
さまざまなキャリー カウンティング システムにおける重みの値は、まさに基底の特定の累乗であることがわかります。したがって、キャリー カウンティング システムで表される任意の数値は、重みに従って拡張された多項式として記述することができます。
(2) コンピュータでバイナリを使用する理由
コンピュータでのバイナリの使用は、その実装メカニズムによって決まります。コンピュータの基本構成要素は集積回路で構成されており、その集積回路はゲート回路で構成されていると考えることができます(もちろん実際はそれほど単純ではありません)。
コンピュータが動作しているときは、回路の電源がオンになっているため、各出力端に電圧が発生します。電圧レベルはアナログデジタル変換により 2 値に変換され、ハイレベルは 1、ローレベルは 0 で表されます。それはアナログ回路をデジタル回路に変換することです。ここでの高レベルと低レベルは人為的に決定できます。一般に、低レベルは 2.5 ボルト以下、高レベルは 3.2 ボルト以上です。電子コンピュータは、データの処理や処理を含め、非常に高速に情報を処理および処理できます。優れた情報ストレージ機能を備えています。コンピュータ内のデータは、2 進数体系を使用してデバイスの物理的状態によって表現されます。コンピュータで処理されるすべての文字や記号も、2 進数エンコーディングで表現される必要があります。バイナリを使用するメリットは、表現が簡単、動作ルールが簡単、設備が節約できることです。 2 つの安定状態 (トランジスタのオンとオフ、リレーのオンとオフ、電気パルスのレベルなど) を持つコンポーネントは簡単に見つけられることは知られていますが、10 個の安定状態を持つコンポーネントを見つける必要があります。 10 進数の 10 進数は難しいです。
1) この技術は実装が簡単です。コンピュータは論理回路で構成されています。論理回路には通常、スイッチのオンとオフの 2 つの状態しかありません。これらの 2 つの状態を使用できます。」 1」と「0」を表します。 (2) 演算規則の簡素化:2 進数の和演算と積演算の組み合わせは 3 通りあり、演算規則が単純であるため、コンピュータの内部構造が簡素化され、演算速度の向上につながります。 (3) 論理演算に適している:論理代数は論理演算の理論的基礎であり、論理代数の「真」と「偽」に一致する 2 進数は 2 桁しかありません。 (4) 変換が簡単、2 進数と 10 進数の相互変換が簡単です。 (5) データ表現にバイナリを使用するため、強力な耐干渉性と高い信頼性という利点があります。データの各ビットにはハイとローの 2 つの状態しかないため、ある程度乱れた場合でも、ハイかローかを確実に区別できます。
(3)、8進数と16進数が登場する理由
人間の一般的な思考は10進数で表現され、コンピュータは2進数で表現されますが、プログラマにとっては、直接対応する必要があります。大きな一連の 2 進数が与えられた場合、電卓を使用します。たとえば、4 バイトの int 型データ: 0000 1010 1111 0101 1000 1111 11111 1111。このような大量の 0 と 1 の文字列を見ると、プログラマは誰でも非常に動揺すると思います。したがって、このデータのペアを表示するためのより簡潔で柔軟な方法が必要です。
10 進数を使えばいいのではないかと思われるかもしれませんが、それではコンピュータの考え方 (2 進数) を正確に表現できません。そのため、8 進数や 16 進数が登場しました。実際には 16 進数の方がよく使われています。たとえば、上記の int 型データをそのまま 8 進数に変換すると 32./3 余り 2 ということは先頭に 0 を付けなければなりませんが、16 進数に変換すると異なります。 32/4=8、8 つの 16 進数値の文字列として直接記述され、シンプルかつ明確です。
したがって、バイナリ文字列を表現するには 16 進数を使用することが間違いなく最良の方法であり、8 進数と 16 進数が登場するのはそのためです。
(4)、基底系間の相互変換の問題
一般的に使用される基底系は、2進数、10進数、8進数、16進数です
2進数と10進数の変換の結論
10 進数から 2 進数への
方法は、10 進数を 2 で割って剰余法を採用します。つまり、10 進数を 2 で割って、剰余をウェイト位置の数値にし、得られた商の値は、次のように 2 で除算され続けます。このステップは、商が 0 に達するまで続きます。
(具体的な使い方は以下の通り)
2進数から10進数への変換
方法は、 に従って2進数を展開します。重量を計算し、それらを合計して 10 進数を取得します。
(具体的な使い方は以下の通り)
2進数と8進数の変換
2進数→8進数
方法は、3 桁の 2 進数を重み拡張に従って加算し、1 桁の 8 進数を取得します。 (注: 3 桁の 2 進数を 8 進数に変換する場合、右から左に変換が開始され、足りない場合は 0 が追加されます)。
(具体的な使い方は以下の通り)
8進数を2進数に変換する
方法は、8進数をで割ります。 2 進数、8 進数ごとに 3 つの 2 進数があり、足りない場合は一番左の数字に 0 が追加されます。
(具体的な使い方は以下の通り)
2進数と16進数の変換
2進数→16進数
方法は、2 進数を 8 進数に変換する方法と同様で、8 進数では 3 を 1 に、16 進数では 4 を 1 に変換します。 (なお、4桁の2進数から16進数への変換は右から左への変換となり、足りない場合は0が加算されます)。
(具体的な使い方は以下の通り)
16進数を2進数に変換する
方法は16進数を2で割る方法です。 2 進数を求める剰余法です。16 進数はそれぞれ 4 つの 2 進数で、足りない場合は左端の数字に 0 が追加されます。
(具体的な使い方は以下の通り)
10進数、8進数、16進数の変換
10進数を8進数または10進数に変換する16 進数の 2 つの方法です。
最初: 間接法 - 10 進数を 2 進数に変換し、次に 2 進数を 8 進数または 16 進数に変換します。画像の使い方についてはここではもう説明しません。
2 番目: 直接法 - 商が 0 になるまで 8 または 16 で割って余りを取ることで、10 進数を 8 進数または 16 進数に変換します。
(具体的な使い方は以下の通り)
8進数または16進数を10進数に変換する
方法は以下の通りです。 10 進数は、基数を重さに応じて展開し、加算することで得られます。
(具体的な使い方は以下の通り)
16 進数と 8 進数の変換
8 進数と 16 進数の変換には 2 つの方法があります。それらの間の変換
最初の変換: それらの間の変換は、まずバイナリに変換してから、相互に変換できます。
2 番目のタイプ: それらの間の変換は、最初に 10 進数に変換し、その後相互に変換できます。
ここでは画像の使用方法についてこれ以上説明しません。
以上がコンピュータでデータを保存および操作するには何が使用されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。