」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > PHP 程式計算整數中的設定位

PHP 程式計算整數中的設定位

發佈於2024-08-29
瀏覽:945

什麼是二進位代碼?

二進位代碼是使用 2 進位數字系統表示資訊或資料的系統。它僅使用兩位數字(通常為 0 和 1)來表示所有值。二進位代碼中的每個數字稱為一位(二進位數字的縮寫)。

在二進位代碼中,每個數字代表2的冪。從最右邊的數字開始,2的冪從右向左遞增。例如,在8位元二進位代碼中,最右邊的位元代表2^0(1),下一位代表2^1(2),再下一位代表2^2(4),依此類推。

例子

讓我們將十進制數 42 用二進位代碼表示。為了將 42 轉換為二進制,我們將它依次除以 2 並記錄餘數,直到商變為零。

以下是逐步過程:

步驟 1

42 ÷ 2 = 21,餘數 0

第 2 步

21 ÷ 2 = 10,餘數 1

步驟 3

10 ÷ 2 = 5,餘數 0

第 4 步

5 ÷ 2 = 2,餘數 1

步驟 5

2 ÷ 2 = 1,餘數 0

步驟 6

1 ÷ 2 = 0,餘數 1

為了獲得二進位表示,我們從底部(最後一個餘數)開始,從下到上讀取餘數。

42 的二進位代碼是:101010

所以,十進制數42用二進位碼表示為101010。

Setbit是什麼?

在二進位代碼中,設定位是指被設定為 1 的二進位數字(位元)。另一方面,清除位是指被設定為 1 的值的二進位數字(位)。 0。

例子

例如,二進位碼101010中,有3個置位位元(對應值為1的位置)和3個清零位元(對應值為0的位置)。

PHP 程式計算整數中的設定位

PHP Program to Count set Bits in an Integer

方法一:循環遍歷整數中的所有位

例子

>= 1;
	}
	return $count;
}

// Driver Code
$number= 12;
echo "Number of setbits in $number: " .countSetBits($number);
?>

輸出

Number of setbits in 12: 2

方法2:遞迴法

> 1);
}

// Driver code

// get value from user
$n = 123;

// function calling
echo "Number of setbits in $n are: ".countSetBits($n);
?>

輸出

Number of setbits in 123 are: 6

結論

總之,我們可以使用遞歸方法和迴圈遍歷 PHP 中的所有位元來計算整數中的設定位元 (1)。循環方法涉及使用 while 迴圈迭代整數的每一位。我們初始化一個計數器變數並迭代,直到數字變成 0。在循環內,我們使用位元與 1 來檢查最低有效位元。如果它等於 1,我們就遞增計數器。然後,我們將數字右移 1 位。此過程持續進行,直到檢查完所有位元並返回最終計數。

對於遞歸方法,我們可以定義一個以整數作為輸入的遞歸函數。在函數內部,我們使用位元 AND 運算子與 1 檢查最低有效位元。如果它等於 1,我們就遞增計數器。然後,我們將數字右移 1 位,並使用更新的數字遞歸來呼叫函數。基本情況是當數字變為 0 時,此時我們返回計數器。這種方法遞歸地對設定位元進行計數,直到數字變成 0。這兩種方法都提供了一種對整數中的設定位元進行計數的方法,允許根據程式設計師的特定需求和偏好進行不同的實現選擇。

版本聲明 本文轉載於:https://www.tutorialspoint.com/php-program-to-count-set-bits-in-an-integer如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3