PHPでの塩基変換

步履不停
リリース: 2023-04-07 06:00:01
オリジナル
6680 人が閲覧しました

PHPでの塩基変換

2進法

4種類

  1. 2進法:0、1、1にはフル2が入ります。

golang では、バイナリを直接使用して整数を表すことはできません。これは c の特性に従います。

  1. 10 進数: 0 ~ 9、10 ~ 10。
  2. 8 進数: 0 ~ 7、完全な 8 桁の 1。数字の 0 から始まります。
  3. 16 進数: 0 ~ 9 および A ~ F、完全な 16 in 1。0x または 0X で始まります。ここでの A ~ F は大文字と小文字を区別しません。
  4. #
    package main
    import "fmt"
    func main() {
        var i int = 5
        //二进制
        fmt.Printf("%b \n",i)
    
        var j int = 011 // 011=>8+1 = 9
        //八进制
        fmt.Println("j=",j)
    
        var k int = 0x11 //0x11 => 16+1 =17
        //十六进制 0x或者0X开头
        fmt.Println("k=",k)
    }
    //101
    //j= 9
    //k= 17
    ログイン後にコピー
基数の図

PHPでの塩基変換

PHPでの塩基変換##1. 他の基数を 10 進数に変換する

2 進数から 10 進数へ
  1. 8 進数から 10 進数へ
  2. 16 進数から 10 進数へ
  3. 2 進数から 10 進数へ

ルール: 最小の数字から開始 (オン)右)、各桁の数値を抽出し、2 の (桁順 - 1) 乗を掛けて合計します。

Case: 1011= $1

2^3 0
2^ 2 12^1 12^0$=8 2 1 = 118 進数から 10 進数への変換

ルール: 最下位の桁 (右側の桁から) )、各桁の数値を抽出し、8 の (桁順 -1) 乗を掛けて合計します。

Case: 0123 = $1

8^2 2
8^1 3 *8^ 0$=64 16 3 = 8316 進数から 10 進数への変換

ルール: 最下位の桁 (右側) から各桁の数値を抽出し、乗算します。 (位-1) 乗の 16 を合計し、

Case: 0x34A = $10

16^0 4
16^1 3*16^2$= 10 64 768 = 8422. 10 進数を他の基数に変換する

10 進数を 2 進数に変換する
  1. 10 進数を 8 進数に変換する
  2. 10 進数を 16 進数に変換する
  3. 10 進数から 2 進数への変換

ルール: 商が 0 になるまで数値を 2 で割り続け、各ステップで得られた剰余を逆にします。これが対応する 2 進数です。

ケース: 56= 111000


10 進数を 8 進数に変換します

##ルール: 商が 0 になるまで数値を 8 で割り続け、各ステップで得られた余りを逆にします。これが対応する 8 進数です

ケース: 156=0234

10 進数を 16 進数に変換する

ルール: 商が 0 になるまで数値を 16 で割り続け、各ステップで得られた余りを逆にして、対応する 16 進数を取得します。

ケース: 356 = 0x164

3. 2 進数から他のシステムへ

#2 進数から 8 進数へ

2 進数から 16 進数へ
  1. 2 進数から 8 進数へ変換
  2. ルール: 各 2 進数を 3 桁のグループに変換し (下位ビットから結合 -
right

!)、それを対応する 8 進数に変換します

ケース: 11010101 = 11 /010/101 = 324 = 0324

2 進数から 16 進数への変換
ルール: 2 進数は 4 桁のグループにグループ化されます (下位ビットから開始 -

Right

!) 、対応する 16 進数に変換します

Case: 11010101= 1101/0101 = 13/5 = D5 = 0xD5

4. 8 進数、10 16 進数を 2 進数に変換します

8 進数を 2 進数に変換します。

16 進数を 2 進数に変換します。
  1. 8 進数を 2 進数に変換します。
  2. ルール: 16 進数を 2 進数に変換します。8 進数の各桁 (先頭から順に結合)下位ビット -
右側の

! )、対応する 3 桁の 2 進数に変換します。

ケース: 0237= 10/011/111 = 10011111

16 進数を 2 進数に変換
ルール: 16 進数の各桁を 10 に変換します。数値 (下位ビットから結合 --

#右側 #!) は、対応する 4 桁の 2 進数に変換できます。

ケース: 0x237= 10/0011/0111 = 1000110111

少しややこしいのでもう一度まとめます

16進数まとめ


1: 型: 2 , 8, 10、16

2: 特定の組成

2:0、1

  1. # #8:0-7
  2. 10:0-9
  3. #16:0-9、A、B、C、D、E、 F
  4. 3: 他の基数を 10 進数に変換します。
倍の変換対象の基数 (ビット 1) を合計し、

4: 10 進数を他の基数に変換します

変換された数値を、商が 0 になるまで変換対象の数値で割った後、それぞれで得られた余りを逆にします。このステップ

#5: 2 進数を他の基数に変換します

右から 3 桁ごとに除算して 8 進数に変換します

Convert 16 進数に、右から開始し、4 桁ごとに 6 に分割します。 8 進数と 16 進数を 2 進数に変換します。

8 進数を右から開始し、3 桁ごとに

に分割します。

16 進数の変換。右から 4 桁ごとに

に分割されます。PHP 関連の技術記事の詳細については、PHP チュートリアル

列にアクセスして学習してください。

以上がPHPでの塩基変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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