php 實現二進位制加法運算

2021-06-22 02:00:27 字數 1269 閱讀 9323

php實現二進位制加法:

思路:沒有工作中應用過此場景,但十進位制的加法還是經常做的,能不能用十進位制加法變相實現呢?

答案是可以的,並且php也提供進製間轉換的函式,我的實現使用了

bindec():二進位制轉十進位制;decbin():十進位制轉二進位制

<?php 

function binplus($arg1,$arg2)

$tmpsum = bindec($arg1) + bindec($arg2);

return decbin($tmpsum);

}echo binplus('101','1');

知識普及:

二進位制:計算機技術中廣泛採用的一種數制。二進位制資料是用0和1兩個數碼來表示的數。他的基數是2,進製規則為:「逢二進一」,由18世紀德國數理哲學大師萊布尼茲發現

當前計算機系統使用的基本上是二進位制系統,資料在計算機中主要是以補碼形式儲存的。

運算:加法:分四種情況:

0+0=0;0+1=1;1+0=1;1+1=10

乘法:分四種情況:

0*0=0;0*1=0;1*0=0;1*1=1

減法:0-0=0;1-1=0;1-0=1;0-1=1

除法:00÷1=0;1÷1=1

在計算機中,除了十進位制是有符號的外,其他如二進位制、八進位制、十六進製制都是無符號的。

進製轉換:

二進位制轉十進位制:「按權展開求和」

【例】:

規律:個位上的數字的次數是0,十位上的數字的次數是1,......,依次遞增,而十

分位的數字的次數是-1,百分位上數字的次數是-2,......,依次遞減。

注意:不是任何乙個十進位制小數都能轉換成有限位的二進位制數。

十進位制轉二進位制:「除以2取餘,逆序排列」

【例】:

89÷2 ……1

44÷2 ……0

22÷2 ……0

11÷2 ……1

5÷2 ……1

2÷2 ……0

1 · 十進位制小數轉二進位制數:「乘以2取整,順序排列」(乘2取整法)

【例】: (0.625)10= (0.101)2

0.625x2=1.25 ……1

0.25 x2=0.50 ……0

0.50 x2=1.00 ……1

二進位制加法運算

兩個二進位制整數相加時,是位對位處理的,從最低的一對位 右邊 開始,依序將每一對位進行加法運算。兩個二進位制數字相加,有四種結果,如下所示 0 0 0 0 1 1 1 0 1 1 1 10 1 與 1 相加的結果是二進位制的 10 等於十進位制的 2 多出來的數字向更高位產生乙個進製。如下圖所示,兩...

二進位制加法運算

兩個二進位制整數相加時,是位對位處理的,從最低的一對位 右邊 開始,依序將每一對位進行加法運算。兩個二進位制數字相加,有四種結果,如下所示 0 0 0 0 1 1 1 0 1 1 1 10 1 與 1 相加的結果是二進位制的 10 等於十進位制的 2 多出來的數字向更高位產生乙個進製。如下圖所示,兩...

二進位製雙精度加法運算

本實驗要求計算 x y z,將結果 z 輸出到螢幕,其中 x 001565a0h,y 0021b79eh。z 00371d3e 實驗利用累加器 ax,先求低十六位和,並存入低址儲存單元,後求高 16位和,再存入高址儲存單元。由於低位和可能向高位有進製,因而高位字相加語句需用 adc 指令,則低位相加...