2進数、10進数、8進数、16進数の変換表

目次

1. 基本的な考え方

2 コンピュータ言語で一般的に使用される基底と表現方法

3 共通基盤運用ルール

(1) 2進法: 2つごとに1つが入ります

(2) 10進法:10日ごと

(3) 10 進整数から 2 進数までの距離の説明:

4. 16 進数変換のためのクイック テーブル ルックアップ


1. 基本的な考え方

数字: 数値内のデジタル記号の位置を指します。
基数: 特定のキャリー カウンティング システムの桁に使用できるデジタル シンボルの数を指します。たとえば、10 進法の底は 10
です。 ビット重み: 数体系の特定の位置にある 1 で表される値のサイズ (位置の値)。たとえば、10 進数の 230 では、1 のビット重みは 100、2 のビット重みは 10、3 のビット重みは 1 となります。


2 コンピュータ言語で一般的に使用される基底と表現方法


コンピューターのアセンブリ言語では、一般的に使用される基数は 2 進数、8 進数、および 10 進数です。

記数法を表現するには 2 つの方法があります。1 つは数値の添え字による方法です。基数が異なる数値の場合は、括弧を追加してから数値の添え字を使用して基数を表すことができます。

例: (110010011111) 2 は 2 進数を表し、(6137) 8 は 8 進数を表します。

もう 1 つは、接尾辞文字を使用して塩基を表す方法です。

バイナリ B (2 進数)
オクタル O (8 進数)
10 進数 D (10 進数)
16 進数 H (16 進数)

3 共通基盤運用ルール


(1) 2進法: 2つごとに1つが入ります

基数は 2 で、数値部分は 2 つの異なる数値 0 と 1 で表されます。

例:2 進数数値 1101.01 は10 進数に変換されます。

1101.01(2)=1*20+0*21+1*22+1*23 +0*2-1+1*2-2=1+0+4+8+0+0.25=13.25(10)

まとめると、一般的な式は次のようになります。

abcd.efg(2)=d*20+c*21+b*22+a*23+e*2-1+f*2-2+g*2-3(10)

たとえば、2 進数 100011 は次のように 10 進数に変換できます。

数字には 3 つの 1、つまり右から左に 6 桁目に 1 つ、2 桁目に 1 つ、1 桁目に 1 つあり、10 進数の 2 の 0 乗 + に対応します。 2の1乗+2の5乗今のところ

100011=32+0+0+0+2+1=35

(2) 10進法:10日ごと

基数は 10 で、数値部分は 0、1、2、3、4、5、6、7、8、9 で表されます。

(3) 10 進整数から 2 進数までの距離の説明:

例: 255=(11111111)B

255/2=127=====余り1

127/2=63======余り1

63/2=31=======余り1

31/2=15=======余り1

15/2=7========1 つ以上

7/2=3=========余り1

3/2=1=========余り1

1/2=0=========余り1

789=1100010101(B)

789/2=394 余り1 10位

394/2=197 ユ0 9号

197/2=98 残り1 8位

98/2=49余り0 No.7

49/2=24 残り1 6位

24/2=12 余り0 5位

12/2=6 余り 0 4桁目

6/2=3 残り0 3位

3/2=1 余り 1 秒の桁

1/2=0 余り 1 桁 1

十进制转二进制C++代码

void DtoB(int d) {
    if(d/2)
        DtoB(d/2);
    cout<<d%2;
}




十进制转换二进制python代码

def Dec2Bin(dec):
    temp = []
    result = ''
    while dec:
        quo = dec % 2
        dec = dec // 2
        temp.append(quo)
    while temp:
        result += str(temp.pop())
     
    return result
print(Dec2Bin(62))
#dec要为正整数
=====================================
def bilibili(b):
    t=[]
    i=''
    e=''
    while b<0:
        b=-b
        i='-'
    while b//2!=0:
        a=b%2
        t.append(a)
        b=b//2
    if b!=0:
        t.append(1)
    else:
        t.append(0)
    while t:
        e+=str(t.pop())
 
    return (i+"0b"+e)
 
#b要为整数,效果同Python3.8内置函数bin()

16 進数: 16 日ごと

基数は 16 で、数字記号は 16 個あり、10 進法の 0 ~ 9 に加えて、10 進数の 10 ~ 15 を表すために A、B、C、D、E、F の 6 文字の英字が使用されます。

 

 

字がちょっと汚いですが、ご容赦ください。 (ははははは)

 

2進数から16進数への変換式:

4桁の8桁の並びで、左から右に8・4・2・1と並んだ値が対応します。1なら対応する値があり、0なら対応する値はありません。 。 4桁の和加算変換(英字A、B、C、D、E、Fは10進数の10~15を表します。)

4. 16 進数変換のためのクイック テーブル ルックアップ
 

 

 

 

 

おすすめ

転載: blog.csdn.net/m0_48565215/article/details/126842598