php最大進位轉換,php 進位轉換

本文目錄一覽:

PHP 進位轉換問題

echo base_convert(10010011001101011010101001000000,2,10).”\r\n”;//輸出 18843

你把 10010011001101011010101001000000 換成 字元串形式的就對了

“10010011001101011010101001000000”

怎樣在PHP中把16進位HEX數據轉換為2進位數據呢?

十六進位轉為二進位有兩種理解方法,第一是十六進位字元串轉二進位字元串,第二是十六進位數轉二進位數,下面分別介紹2種轉換方法:

1.hex2bin函數可以將十六進位字元串轉換為二進位字元串,詳細用法如下:

hex2bin — 轉換十六進位字元串為二進位字元串

string hex2bin(string $data)

轉換十六進位字元串為二進位字元串。

參數:

data:十六進位表示的數據

返回值:

返回給定數據的二進位表示  或者在失敗時返回 FALSE。

異常:

如果輸入的十六進位字元串是奇數長數或者無效的十六進位字元串將會拋出E_WARNING 級別的錯誤。

示例:

$hex = hex2bin(“6578616d706c65206865782064617461”);

echo $hex;//example hex data(其中16進位代表的是ascii碼)

2.base_convert是真正意義上的進位轉換函數

base_convert — 在任意進位之間轉換數字

string base_convert( string $number, int $frombase, int $tobase)

返回一字元串,包含 number以 tobase 進位的表示。number 本身的進位由frombase指定。frombase 和 tobase 都只能在2 和 36 之間(包括 2 和 36)。高於十進位的數字用字母 a-z 表示,例如a 表示 10,b 表示 11 以及 z 表示 35。

參數:

number:要轉換的數字

frombase:原始進位

tobase:轉換後的進位

示例:

$hexadecimal = ‘A37334’;

echo base_convert($hexadecimal, 16, 2);//101000110111001100110100

關於PHP進位轉換的代碼,求大神幫忙編寫一下。 2 8 16 可以實現這三個進位之間轉換的代碼。

PHP內置進位轉換函數:base_convert ,其詳細調用如下:

string base_convert ( string $number , int $frombase , int $tobase )

返回一字元串,包含 number 以 tobase 進位的表示。number 本身的進位由 frombase 指定。frombase 和 tobase 都只能在 2 和 36 之間(包括 2 和 36)。高於十進位的數字用字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。

示例:

十六進位轉換成為二進位:

?php

$hexadecimal = ‘A37334’;

echo base_convert($hexadecimal, 16, 2);

?

求將十進位數轉為十六進位數的JS或PHP代碼

JS十進位轉其他進位代碼如下var m = 10;document.write(m.toString(2) + “br”); // 顯示為 1010 二進位document.write(m.toString(8) + “br”); // 顯示為 12 8進位document.write(m.toString(10) + “br”); // 顯示為 10 十進位document.write(m.toString(16) + “br”); // 顯示為 a, 十六進位 php轉換函數如下:bindec() — 二進位轉換為十進位

decbin() — 十進位轉換為二進位

dechex() — 十進位轉換為十六進位

decoct() — 十進位轉換為八進位

hexdec() — 十六進位轉換為十進位

octdec() — 八進位轉換為十進位

base_convert()– 在任意進位之間轉換數字使用說明如下: 一,十進位(decimal system)轉換函數說明

1,十進位轉二進位 decbin() 函數,如下實例echo decbin(12); //輸出 1100

echo decbin(26); //輸出 11010

decbin

(PHP 3, PHP 4, PHP 5)

decbin — 十進位轉換為二進位

說明

string decbin ( int number )

返回一字元串,包含有給定 number 參數的二進位表示。所能轉換的最大數值為十進位的 4294967295,其結果為 32 個 1 的字元串。2,十進位轉八進位 decoct() 函數echo decoct(15); //輸出 17

echo decoct(264); //輸出 410

decoct

(PHP 3, PHP 4, PHP 5)

decoct — 十進位轉換為八進位

說明

string decoct ( int number )

返回一字元串,包含有給定 number 參數的八進位表示。所能轉換的最大數值為十進位的 4294967295,其結果為 “37777777777”。3,十進位轉十六進位 dechex() 函數echo dechex(10); //輸出 a

echo dechex(47); //輸出 2f

dechex

(PHP 3, PHP 4, PHP 5)

dechex — 十進位轉換為十六進位

說明

string dechex ( int number )

返回一字元串,包含有給定 number 參數的十六進位表示。所能轉換的最大數值為十進位的 4294967295,其結果為 “ffffffff”。二,二進位(binary system)轉換函數說明

1,二進位轉十六制進 bin2hex() 函數$binary = “11111001”;

$hex = dechex(bindec($binary));

echo $hex;//輸出f9

bin2hex

(PHP 3 = 3.0.9, PHP 4, PHP 5)

bin2hex — 將二進位數據轉換成十六進位表示

說明

string bin2hex ( string str )

返回 ASCII 字元串,為參數 str 的十六進位表示。轉換使用位元組方式,高四位位元組優先。2,二進位轉十制進 bindec() 函數echo bindec(\\\’110011\\\’); //輸出 51

echo bindec(\\\’000110011\\\’); //輸出 51

echo bindec(\\\’111\\\’); //輸出 7

bindec

(PHP 3, PHP 4, PHP 5)

bindec — 二進位轉換為十進位

說明

number bindec ( string binary_string )

返回 binary_string 參數所表示的二進位數的十進位等價值。

bindec() 將一個二進位數轉換成 integer。可轉換的最大的數為 31 位 1 或者說十進位的 2147483647。PHP 4.1.0 開始,該函數可以處理大數值,這種情況下,它會返回 float 類型。三,八進位(octal system)轉換函數說明

八進位轉十進位 octdec() 函數echo octdec(\\\’77\\\’); //輸出 63

echo octdec(decoct(45)); //輸出 45

octdec

(PHP 3, PHP 4, PHP 5)

octdec — 八進位轉換為十進位

說明

number octdec ( string octal_string )

返回 octal_string 參數所表示的八進位數的十進位等值。可轉換的最大的數值為 17777777777 或十進位的 2147483647。PHP 4.1.0 開始,該函數可以處理大數字,這種情況下,它會返回 float 類型。四,十六進位(hexadecimal)轉換函數說明

十六進位轉十進位 hexdec()函數var_dump(hexdec(“See”));

var_dump(hexdec(“ee”));

// both print “int(238)”

var_dump(hexdec(“that”)); // print “int(10)”

var_dump(hexdec(“a0”)); // print “int(160)”

hexdec

(PHP 3, PHP 4, PHP 5)

hexdec — 十六進位轉換為十進位

說明

number hexdec ( string hex_string )

返回與 hex_string 參數所表示的十六進位數等值的的十進位數。hexdec() 將一個十六進位字元串轉換為十進位數。所能轉換的最大數值為 7fffffff,即十進位的 2147483647。PHP 4.1.0 開始,該函數可以處理大數字,這種情況下,它會返回 float 類型。

hexdec() 將遇到的所有非十六進位字元替換成 0。這樣,所有左邊的零都被忽略,但右邊的零會計入值中。五,任意進位轉換 base_convert() 函數$hexadecimal = \\\’A37334\\\’;

echo base_convert($hexadecimal, 16, 2);//輸出 101000110111001100110100

base_convert

(PHP 3 = 3.0.6, PHP 4, PHP 5)base_convert — 在任意進位之間轉換數字

說明

string base_convert ( string number, int frombase, int tobase )

返回一字元串,包含 number 以 tobase 進位的表示。number 本身的進位由 frombase 指定。frombase 和 tobase 都只能在 2 和 36 之間(包括 2 和 36)。高於十進位的數字用字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。

PHP 浮點進位轉換

下面是php實現的方法:

/**

 * 十六進位浮點型轉為十進位

 * @param String $strHex 十六進位浮點數

 */

function hexToDecFloat($strHex) {

$v = hexdec($strHex);

$x = ($v  ((1  23) – 1)) + (1  23) * ($v  31 | 1);

$exp = ($v  23  0xFF) – 127;

return $x * pow(2, $exp – 23);

}

你說得很高深的樣子,又不舉例,不知道你究竟需要把什麼樣子的數轉換成什麼,上面是例子看看是不是你要的吧,如果不是,請一定舉例。

求解 使用php將1000位的十進位大數轉成二進位

下面的代碼測試通過的,我只用幾10位進行測試,理論上成千上萬位結果也是正確的,供你參考,演算法比較笨蛋(完全模仿人工的除2取余):

?php

//超大整數(10進位)轉換為二進位數

$n=’12121111111141417908308410289576890247569807456709384756890743906790486790845′;

//$n=’15’;//1111

//$n=’257′;//100000001

$r=”;//結果

while ($n){

  //$n整除2,商$m、餘數$k

  $k=0;

  $m=”;

  do{

    $k=$k*10 + substr($n,0,1);

    if ($m!=” || $k1) $m.=floor($k/2);

    $k=$k % 2;

    $n=substr($n,1);

    //$r=$k . $r;

  }while($n!=”);

  //echo “r=$r;m=$m\n”;//break;

  //下一輪除法

  $n=$m;

  $r=$k . $r;

}

echo $r;

?

原創文章,作者:OMIK,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/140451.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
OMIK的頭像OMIK
上一篇 2024-10-04 00:23
下一篇 2024-10-04 00:23

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • 使用Python查找列表中的最大元素

    在Python中,有時候我們需要在一個列表中查找最大的元素。本文將詳細討論如何使用Python查找列表中的最大元素。 1、使用max()函數查找列表中最大元素 Python自帶的m…

    編程 2025-04-27
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • 最大匹配演算法Python代碼

    本文主要介紹最大匹配演算法Python代碼,該演算法是一種基本的中文分詞方法,適用於處理中文文本中的詞語分割問題。 一、演算法原理 最大匹配演算法是一種基於詞典的中文分詞演算法,其本質是一個…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台伺服器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24

發表回復

登錄後才能評論