程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 十進制(decimal system)轉換函數說明,decimalsystem

十進制(decimal system)轉換函數說明,decimalsystem

編輯:關於PHP編程

十進制(decimal system)轉換函數說明,decimalsystem


一,十進制(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手冊。請關注下一期中文字符編碼研究系列。


將十進制數轉為十六進制數的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 -- 將......余下全文>>
 

進制轉換的函數的問題

package com.test.numsys;

import java.util.*;

/**
* 數值轉換 十進制 二進制 八進制 十六進制
*/
public class NumSys {

public static void main(String[] args) {

NumSys ns = new NumSys();
System.out.println("十進制100轉換為二進制為:" + ns.decimalToBinary(100));//1100100

System.out.println("二進制1100100轉換為八進制為: " + ns.binaryToOctal(1100100));// 144

System.out.println("二進制10110000011101轉換為十六進制為:" + ns.binaryToHex("10110000011101")); //2C1D

System.out.println("十進制100轉換為八進制:" + ns.DecimalToOctal(100));

System.out.println("十進制15400轉換為十六進制:" + ns.DecimalToHex(15400));
}

//沒有實現小數部分的轉化 十進制轉換為二進制
public long decimalToBinary(int a) {

long binary = 0L;
int[] binaryArr = new int[64];
int i = 0;
do {
binaryArr[i] = a%2;
a = a/2;
i ++;
} while(a != 0);

String s = "";
for(int j = binaryArr.length-1; j>=0; j--) {
s+=binaryArr[j] + "";
}

binary = Integer.parseInt(s);

return binary;
}

//二進制轉換為八進制
public String binaryToOctal(long a) {
String octal = "";
String s = a +"";
char [] c_temp = (a+"").toCharArray();

int temp = 3 - c_temp.length%3;
for(int i = 0; i<temp ; i++) {
s = "0" + s;
}

char[] c2 = s.toCharArray();
List<String> list = new ArrayList<String>();

for(int i = 0 ; i < c2.length ; i += 3 ) {
String stemp = c......余下全文>>
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved