ホームページ  >  記事  >  バックエンド開発  >  PHPオリジナルコード、逆コード、補完コード紹介

PHPオリジナルコード、逆コード、補完コード紹介

WBOY
WBOYオリジナル
2016-06-20 12:44:351383ブラウズ

PHP オリジナルコード、逆コード、補完コードの紹介


オリジナルコード:

それは「元のバイナリコード」であり、実際には10進数から2進数に変換した後に理解できる文字コードです。元のコードはすべて数値的に理解できます。しかし、実際のコンピュータの動作では、元のコードが使用されないことが多く、逆コードや補コードが問題となります。

これに基づいて、規則: 2 進数の最初のビットは符号ビットであり、0 は正の数を表し、1 は負の数を表します。


例: (例として 8 ビットが使用されています):

7: 00000111

-7: 10000111


逆コード:

正の数の逆コードはそれ自体です。

負の数の補数コードは、元のコードの符号なし部分の各ビットを反転します。 。

例:

7: 00000111

-7: 11111000


補コード:

正の数の補数はそれ自体です

負の数の補数、符号ビットは変化せず、他のビットが反転された後も整数になります1 増加します

例:

7: 00000111

-7: 11111000+1 = 11111001


加算演算:

減算演算:


要約:

1: データ CPU 内部では補数コードに基づいた演算を実行します。

2: 原コード、逆コード、補コードの変換処理はシステムの内部作業であり、符号ビットは変換中に変更されません

3: 2 の補数演算を使用する場合、符号ビットは演算に参加します (つまり、通常の 2 進数として扱われます)


一連のもの (データ) のスイッチ ステータスを管理します

スイッチ ステータス: これはある種のデータであり、値は 2 つだけです利用可能: true、false、1、0、オン、オフ。 。 。

一連のものとは、複数のデータの考えられる外観状態を指します。

管理する必要がある照明スイッチが 5 つあると仮定します。

1: 各電球のステータスを決定します: オン、オフ;

2: 任意の電球をオンにするように指定できます

3:任意の電球を消すように指定できます

前提条件を設定します: これら 5 つの電球には明確な順序があり、5 つの変数を設定します (定数も許容されます)

次のように仮定します1 ~ 5 個の電球の位置は、右から左に数えます - 対応する桁数

最初の電球: $d1 = 1

2 番目の電球電球: $d2 = 2; /00000010

3 番目の電球: $d3 = 4; //00000100

4 番目の電球: $d4 = 8; 5 番目の電球 :$d5 = 16; //00010000

すべての電球の合計状態は次の変数で表すことができます。

If $state = 7; //00000111 は最初の電球を意味します。 、2、3 個の電球が点灯しています

$state = 9; //00001001 の場合は最初、4 つの電球が点灯しています

$state = 13 の場合は最初を意味します。 、2、4 個の電球が点灯しています


電球のスイッチ状態を決定します:


$s1 = $state & $dn //ここで、n は 1 ~ 5 のいずれかを表します

結果が $s1 > 0 の場合は電球がオンであることを意味し、それ以外の場合は電球がオフであることを意味します


指定された電球をオンにします:

$state = $state $dn | ここで、n は 1 ~ 5 のいずれかを表します。 >


指定された電球をオフにします:

$state = $state & ~$dn; //ここで、n は 1 ~ 5 のいずれかを表します。


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