PHP基礎教程
二進制、八進制、十進制、十六進制相互轉換一、 十進制與二進制之間的轉換
(1) 十進制轉換為二進制,分為整數部分和小數部分 🀜
㟠取餘,逆序排列,即每次整數部分除以2,餘數為該位權上的數,而商繼續除以2,餘數又為上一個位權上的數,這個步驟一直持續下去,直到商為0為止,最後讀數時候,從最後一個餘數讀起,一直到最前面的一個餘數。以下舉例:
例:將十進制的168轉換為二進位
得出結果 將十進制的168轉換為二進制,(10101000)
🀎二進位,將餘商除以208〟457,18〟457〟〜。
第二步,將商數84除以2,商數42餘數為0。
第三步,將商數42除以2,商數21餘數為0。
第四步,將商數21除以2,商數10餘數為1。
第五步,將商數10除以2,商數5餘數為0。
第六步,將商數5除以2,商數2餘數為1。
第七步,將商數2除以2,商數餘數為0。
第八步,將商數除以2,商數0餘數為1。
第九步,讀數,因為最後一位是經過多次除以2才得到的,因此它是最高位,讀數字從最後的餘數向前讀,即10101000
(2) 小數部分
(2) 小數部分
方法:乘2取整,順序排列,即將小數部分乘以2,然後取整數部分,剩下的小數部分繼續乘以2,然後取整數部分,剩下的小數部分又乘以2,一直取到小數部分
為零為止。如果永遠不能為零,就同十進制數的四捨五入一樣,按照要求保留多少位小數時,就根據後面一位是0還是1,取捨,如果是零,捨掉,如果是1,向入一位。換句話說就是0舍1入。讀數要從前面的整數讀到後面的整數,下面舉例:
例1:將0.125換算為二進制
得出結果:將0.125換算為二進位(0. 得出結果:將0.125換為二進位(0.01)2乘以2,得0.25,則整數部分為0,小數部分為0.25;
第二步, 將小數部分0.25乘以2,得0.5,則整數部分為0,小數部分為0.5;步, 將小數部分0.5乘以2,得1.0,則整數部分為1,小數部分為0.0;
第四步,讀數,從第一位讀起,讀到最後一位,即為0.001。
例2,將0.45轉換為二進位(保留到小數點第四位)
大家從上面步驟可以看出,當第五次做乘法時候,得到的結果是0.4,那麼小數部分繼續乘以2,得0.8,0.8又乘以2的,到1.6這樣一直乘下去,最後不可能得到小數部分為零,因此,這個時候只好學習十進制的方法進行四捨五入了,但是二進制只有0和1兩個,於是就出現0舍1入。這個也是計算機在轉換中會產生誤差,但由於保留位數很多,精確度很高,所以可以忽略。
那麼,我們可以得到結果將0.45轉換為二進制約等於0.0111
上面介紹的方法是十進制轉換為二進制的方法,需要注意的是:
5『為二進制數。和小數兩個部分分別轉換
2) 當轉換整數時,用的除2取餘法,而轉換小數時候,用的是乘2取整法
3) 注意他們的讀數方向我們從上面的方法,我們可以得出十進制數168.125轉換為二進制為10101000.001,或者十進制數轉換為二進制數約等於10101000.0111。
(3) 二進制轉換為十進制 不分整數和小數部分
方法:按權相加法,即將二進制每位上的數乘以權,然後相加之和即是十進制數。例
將二進位數101.101轉換為十進位數。
得出結果:(101.101)2=(5.625)10
大家在做二進制轉換成十進制需要注意的是
1) 每位要知道要注意的是 的值
二、 二進位與八進制之間的轉換
首先,我們需要了解一個數學關係,即23=8,24=16,而八進制和十六進制是用這 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜。 ,即以三位二進位表示一位八進制,以四位二進位表示一位十六進位數。
接著,記住4個數字8、4、2、1(23=8、22=4、21=2、20=1)。現在我們來練習二進制與八進制之間的轉換。
(1) 二進位轉換為八進位
方法:取三合一法,即從二進制的小數點為分界點,向左(向右)每三位取成一位,接著將這三位二進制按權相加,得到的數就是一位八位二進制數,然後,依序排列,小數點的位置不變,得到的數字就是我們所求的八進位數。若向左(向右)取三位後,取到最高(最低)位時候,如果無法湊足三位,可以在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足三位。例
①將二進制數101110.101轉換為八進制
得到結果:將101110.101轉換為八進制為56.5 10313631365923599639999.
得到結果:將1101.1轉換為八進位為15.4
(2)將八進制轉換為二進制
方法:取一分三法,即將一位八進制數分解成三位二進制數,用三位二進制按權相加去湊這位八進制數,小數點位置照舊。例:
① 將八進制數67.54轉換為二進制
因此,將八進制數67.54轉換為二進制數為110111.101100,即1111看出,計算八進位轉換為二進位
首先,將八進位依照由左至右,每位展開為三位,小數點位置不變
然後,按每位展開為22,21,20(即4、2、1)三位去做湊數,即a× 22+ b×21 +c×20=該位上的數(a=1或a=0,b=1或b=0,c=1或c=0),將abc排列就是該位的二進位數
接著,將每位上轉換成二進制數按順序排列
最後,就得到了八進制轉換成二進制的數字。
以上的方法就是二進制與八進制的互換,大家在做題的時候需要注意的是
1) 他們之間的互換是以一位與三位轉換,這個有別於二進制與十進制轉換
2) 大家在做添0和去0的時候要注意,是在小數點最左邊或者小數點的最右邊(即整數的最高位和小數的最低位)才能添0或者去0,否則將產生錯誤
三、 二進位與十六進位的轉換
方法:與二進位與八進位轉換相似,只不過是一位(十六)與四位(二進位)的轉換,下列何者轉換為十六進制
方法:取四合一法,即從二進制的小數點為分界點,向左(向右)每四位取成一位,接著將這四位二進制按權相加,得到的數就是一位十六位二進位數,然後,依序排列,小數點的位置不變,得到的數字就是我們所求的十六進位數。若向左(向右)取四位後,取到最高(最低)位時候,如果無法湊足四位,可以在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足四位。
①例:將二進位11101001.1011轉換為十六進位
得到結果:將二進位11101001.10111715665715716715676766766766767667676767676767676730300037位。進制
因此得到結果:將二進位101011.101轉換為十六進位為2B.A
(2)將十六進位轉換為二進位
方法:取一分四法,即將一位十六進位數字數,用四位二進制按權相加去湊這位十六進制數,小數點位置照舊。
①將十六進位6E.2轉換為二進位數
因此得到結果:將十六進位6E.2轉換為二進位為01101110.0010即110110.001
方法:一般不能互相直接轉換,一般是將八進制(或十六進制)轉換為二進制,然後再將二進制轉換為十六進制(或八進制),小數點位置不變。那麼對應的轉換請參考上面二進制與八進制的轉換和二進制與十六進制的轉
五、八進制與十進制與十六進制的轉換
(1)八進制與十進制的轉換
(1)八進制與十進制的轉換
『(1)八進制與十進制的轉換
『(1)八進制與十進制的轉換
『(1)八進制對帶八進制每位上的數乘以位權,然後相加之和即是十進制數。
例:①將八進位數67.35轉換為十進位
(2)十進位轉換為八進位
十進位轉換成八進位轉換成八進位方法:然後將二進位又轉換成八進制
2)直接法:前面我們講過,八進制是由二進制衍生而來的,因此我們可以採用與十進制轉換為二進制相類似的方法,還是整數部分的轉換和小數部分的轉換,下面來具體說明:
①整數部分
方法:除8取餘法,即每次整數部分除以8,餘數為該位權上的數,而商數繼續除以8,餘數又為上一個位權上的數,這個步驟一直持續下去,直到商數為0為止,最後讀數時候,從最後一個餘數起,一直到最前面的一個餘數。
②小數部分
方法:乘8取整法,即將小數部分乘以8,然後取整數部分,剩下的小數部分繼續乘以8,然後取整數部分,剩下的小數部分又乘以8,一直取到小數部分為零為止。如果永遠不能為零,就同十進制數的四捨五入一樣,暫取個名字叫3舍4入。
例:將十進制數796.703125轉換為八進制數
解:先將這個數字分為整數部分796和小數部分0.703125 <〜〜<<
因此,得到結果十進制796.703125轉換八進制為1434.55
上面的方法大家可以驗證一下,你可以先將十進制轉換,然後在轉換為八進制,這樣看得到的結果是否一樣
六、十六進制與十進制的轉換
六、十六進制與十進制的轉換
六製有進制與十進制很多相似之處,大家可以參考上面八進制與十進制的轉換自己試試這兩個進制之間的轉換。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。
