PHP兩個n位的二進(jìn)制整數(shù)相加問題的解決
兩個n位的二進(jìn)制整數(shù)相加問題PHP實(shí)現(xiàn),供大家參考,具體內(nèi)容如下
兩個n位二進(jìn)制數(shù)分別存儲在兩個n元數(shù)組A和B中,這兩個整數(shù)的和存在一個n+1元的數(shù)組C中
答:
此問題主要是考察相加進(jìn)位的問題,元素1+1 =0 并且往前進(jìn)一位
ADD-BINARY(A,B)
C=new integer[A.length+1]
carry=0
for i=A.length downto 1
C[i+1]=(A[i]+B[i]+carry)%2
carry=(A[i]+B[i]+carry)/2
C[i]=carry
代碼
<?php function addBinary($A,$B){ $C=array(); $length=count($A); $carry=0; for($i=$length-1;$i>=0;$i--){ //當(dāng)前位的數(shù)字邏輯 1+1=0 1+0=1 $C[$i+1]=($A[$i]+$B[$i]+$carry)%2; //進(jìn)位的數(shù)字邏輯 1+1=1 1+0=0 $carry=intval(($A[$i]+$B[$i]+$carry)/2); } $C[$i+1]=$carry; return $C; } $A=array(0,1,1,0); $B=array(1,1,1,1); $C=addBinary($A,$B); var_dump($C);
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用 PHP Masked Package 屏蔽敏感數(shù)據(jù)的實(shí)現(xiàn)方法
這篇文章主要介紹了使用 PHP Masked Package 屏蔽敏感數(shù)據(jù)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10WordPress中獲取指定分類及其子分類下的文章數(shù)目
這篇文章主要介紹了WordPress中獲取指定分類及其子分類下的文章數(shù)目的方法,文中總結(jié)了一些相關(guān)內(nèi)置函數(shù)的使用,需要的朋友可以參考下2015-12-12Yii2框架實(shí)現(xiàn)利用mpdf創(chuàng)建pdf文件功能示例
這篇文章主要介紹了Yii2框架實(shí)現(xiàn)利用mpdf創(chuàng)建pdf文件功能,結(jié)合實(shí)例形式分析了mpdf的下載、安裝及結(jié)合Yii2框架創(chuàng)建pdf文件的相關(guān)操作技巧,需要的朋友可以參考下2019-02-02PhpStorm 如何優(yōu)雅的調(diào)試Hyperf的方法步驟
這篇文章主要介紹了PhpStorm 如何優(yōu)雅的調(diào)試Hyperf的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11laravel 5.3 單用戶登錄簡單實(shí)現(xiàn)方法
今天小編就為大家分享一篇laravel 5.3 單用戶登錄簡單實(shí)現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10