PHP函数篇详解十进制,进制调换

by admin on 2019年9月21日

 

bf88必发唯一官网 1

十进制(decimal system)转变函数表达

  1. 十进制转二进制 decbin() 函数,如下实例

echo decbin(12); //输出 1100 
echo decbin(26); //输出 11010 

decbin — 十进制转换为二进制
说明 :
string decbin ( int number )
归来一字符串,包蕴有给定 number
参数的二进制表示。所能转变的最大数值为十进制的 4294967295,其结果为 35个 1 的字符串。

  1. 十进制转八进制 decoct() 函数

echo decoct(15); //输出 17 
echo decoct(264); //输出 410 
decoct 

decoct — 十进制转变为八进制
说明
string decoct ( int number )
归来一字符串,包蕴有给定 number
参数的八进制表示。所能转变的最大数值为十进制的 4294967295,其结果为
“37777777777”。

  1. PHP函数篇详解十进制,进制调换。十进制转十六进制 dechex() 函数

echo dechex(10); //输出 a 
echo dechex(47); //输出 2f 

dechex — 十进制转换为十六进制
说明
string dechex ( int number )
归来一字符串,包蕴有给定 number
参数的十六进制表示。所能转变的最大数值为十进制的 4294967295,其结果为
“ffffffff”。

一,十进制(decimal system)调换函数表明 1,十进制转二进制 decbin() 函数,如下实例

  常见的进制方式,重要有二进制,八进制,十进制和十六进制,通用的转变方式是把非十进制的数据类型调换到十进制的,然后再调换成别的连串。

前几日首后天正式上课学习的是基础<进制转化>,上面包车型客车图表明的是种种进制之间的关系,同期也发挥了深造IT的求学格局< 学习三个建立模型观念  造成处总管业条理化的口径反射>

二进制(binary system)转换函数表明

  1. 二进制转十六制进 bin2hex() 函数

$binary = "11111001"; 
$hex = dechex(bindec($binary)); 
echo $hex;//输出f9 

bin2hex — 将二进制数据转变到十六进制表示
说明
string bin2hex ( string str )
回来 ASCII 字符串,为参数 str
的十六进制表示。转变使用字节格局,高五人字节优先。

  1. 二进制转十制进 bindec() 函数

echo bindec('110011'); //输出 51 
echo bindec('000110011'); //输出 51 
echo bindec('111'); //输出 7 

bindec — 二进制调换为十进制
说明
number bindec ( string binary_string )
返回 binary_string 参数所代表的二进制数的十进制等价值。
bindec() 将二个二进制数转变到 integer。可转变的最大的数为 31 位 1
只怕说十进制的 2147483647。PHP 4.1.0
发轫,该函数能够拍卖大数值,这种情状下,它会回来 float 类型。

echo decbin(12); //输出 1100
echo decbin(26); //输出 11010
decbin
(PHP 3, PHP 4, PHP 5)
decbin — 十进制调换为二进制
说明
string decbin ( int number )
重回一字符串,包蕴有给定 number
参数的二进制表示。所能调换的最大数值为十进制的 4294967295,其结果为 33个 1 的字符串。

  在.NET Framework中,System.Convert
类中提供了相比较圆满的各体系型、数值之间的转移职能。当中的四个主意能够轻便的完成种种进制的数值间的转换

后天起自家那只树上的蜗牛将启幕一点一点的将本人经历的剧情总体点滴记录下来。

八进制(octal system)转变函数表达

  1. 八进制转十进制 octdec() 函数

echo octdec('77'); //输出 63 
echo octdec(decoct(45)); //输出 45 

octdec — 八进制调换为十进制
说明
number octdec ( string octal_string )
返回 octal_string
参数所代表的八进制数的十进制等值。可调换的最大的数值为 17777777777
或十进制的 2147483647。PHP 4.1.0
开首,该函数能够管理大数字,这种情景下,它会再次来到 float 类型。

2,十进制转八进制 decoct() 函数

一 、Convert 类中的转变方法

1、Convert.ToInt32(string
value, int fromBase);

  把不一样进制数值的字符串调换为数字

value 参数 要扩充转移的数值字符串

fromBase参数 要转变到的进制格式,只可以是2、8、10及16。

Convert.ToInt32(”100111101″, 2); //二进制数 100111101 转成十进制Convert.ToInt32(”76″, 8);        //八进数 76 制转成十进制Convert.ToInt32(”FF”, 16);       // 16进数 FF 制转换成十进制

2、Convert.ToString(int
value, int toBase);

  能够把八个数字调换为分化进制数值的字符串格式,

PHP函数篇详解十进制,进制调换。      value 参数 要进行改变的数字

toBase参数 要转换来的进制格式,只好是2、8、10及16。

Convert.ToString(69, 2); //十进制数 69 转二进制Convert.ToString(69, 8); //十进制数 69 转八进制Convert.ToString(69, 16);//十进制数 69 转十六进制

 

十六进制(hexadecimal)转变函数表明

  1. 十六进制转十进制 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 — 十六进制转变为十进制
说明
number hexdec ( string hex_string )
返回与 hex_string 参数所表示的十六进制数等值的的十进制数。hexdec()
将一个十六进制字符串转变为十进制数。所能调换的最大数值为
7fffffff,即十进制的 2147483647。PHP 4.1.0
最早,该函数可以拍卖大数字,这种情景下,它会回来 float 类型。
hexdec() 将蒙受的有着非十六进制字符替换成0。那样,全部左边的零都被忽视,但左边的零会计入值中。

echo decoct(15); //输出 17
echo decoct(264); //输出 410
decoct
(PHP 3, PHP 4, PHP 5)
decoct — 十进制调换为八进制
说明
string decoct ( int number )
归来一字符串,包蕴有给定 number
参数的八进制表示。所能转换的最大数值为十进制的 4294967295,其结果为
“37777777777”。

二 、一个各进制自由调换的情势

进制转换的入口函数:

bf88必发唯一官网 2bf88必发唯一官网 3

       /// <summary>       /// 进制转换       /// </summary>       /// <param name="input"></param>       /// <param name="fromType">原来的进制格式</param>       /// <param name="toType">要转换成的进制格式</param>       /// <returns></returns>       public string ConvertGenericBinary(string input, byte fromType, byte toType)       {           string output = input;           switch            {                case 2:                   output = ConvertGenericBinaryFromBinary(input,toType);                   break;               case 8:                   output = ConvertGenericBinaryFromOctal(input,toType);                   break;               case 10:                   output = ConvertGenericBinaryFromDecimal(input,toType);                   break ;               case 16:                   output = ConvertGenericBinaryFromHexadecimal(input,toType);                   break;               default:                   break;           }           return output;       }     

进制转变的入口函数

从二进制调换成任何格式:

bf88必发唯一官网 4bf88必发唯一官网 5

       /// <summary>       /// 从二进制转换成其他进制       /// </summary>       /// <param name="input"></param>       /// <param name="toType"></param>       /// <returns></returns>       private string ConvertGenericBinaryFromBinary(string input,  byte toType)       {                      switch            {                case 8:                   //先转换成十进制然后转八进制                   input = Convert.ToString(Convert.ToInt32(input, 2), 8);                   break;               case 10:                   input =  Convert.ToInt32(input, 2).ToString();                   break;               case 16:                   input = Convert.ToString(Convert.ToInt32(input, 2), 16);                   break;               default:                   break;            }           return input;       }

从二进制调换成别的格式

从八进制转变到别的格式:

bf88必发唯一官网 6bf88必发唯一官网 7

       /// <summary>       /// 从八进制转换成其他进制       /// </summary>       /// <param name="input"></param>       /// <param name="toType"></param>       /// <returns></returns>       private string ConvertGenericBinaryFromOctal(string input, byte toType)       {           switch            {               case 2:                   input =  Convert.ToString(Convert.ToInt32(input, 8), 2);                   break;               case 10:                   input = Convert.ToInt32(input, 8).ToString();                   break;               case 16:                   input = Convert.ToString(Convert.ToInt32(input, 8), 16);                   break;               default:                   break;           }           return input;       }

从八进制调换到别的格式

从十进制转变来任何格式:

bf88必发唯一官网 8bf88必发唯一官网 9

       /// <summary>       /// 从十进制转换成其他进制       /// </summary>       /// <param name="input"></param>       /// <param name="toType"></param>       /// <returns></returns>       private string ConvertGenericBinaryFromDecimal(string input, int toType)       {           string output = "";           int intInput = Convert.ToInt32;           switch            {               case 2:                   output = Convert.ToString(intInput, 2);                   break;               case 8:                   output = Convert.ToString(intInput, 8);                   break;               case 16:                   output = Convert.ToString(intInput, 16);                   break;               default:                   output = input;                   break;           }           return output;       }

从十进制转形成另外格式

从十六进制转换成其余格式:

bf88必发唯一官网 10bf88必发唯一官网 11

       /// <summary>       /// 从十六进制转换成其他进制       /// </summary>       /// <param name="input"></param>       /// <param name="toType"></param>       /// <returns></returns>       private string ConvertGenericBinaryFromHexadecimal(string input, int toType)       {           switch            {               case 2:                   input = Convert.ToString(Convert.ToInt32(input, 16), 2);                   break;               case 8:                   input = Convert.ToString(Convert.ToInt32(input, 16), 8);                   break;               case 10:                   input = Convert.ToInt32(input, 16).ToString();                   break;               default:                   break;           }           return input;       }

从十六进制转变来另外格式

1 学习指标

放肆进制调换 base_convert() 函数

$hexadecimal = 'A37334'; 
echo base_convert($hexadecimal, 16, 2);//输出 101000110111001100110100 
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。

3,十进制转十六进制 dechex() 函数

三、各进制数的运算

  把各进制数转变来 十进制数举行测算,然后再转变来原项目。

譬世尊讲一个二进制之间的加法:

       /// <summary>       /// 二进制之间的加法       /// </summary>       /// <param name="x"></param>       /// <param name="y"></param>       /// <returns></returns>       public string AddBetweenBinary(string x, string y)       {           int intSum = Convert.ToInt32(x, 2) + Convert.ToInt32(y, 2);           return Convert.ToString(intSum,2) ;       }

 学习三个建立模型观念  产生处监护人情条理化的尺度反射。

echo dechex(10); //输出 a
echo dechex(47); //输出 2f
dechex
(PHP 3, PHP 4, PHP 5)
dechex — 十进制调换为十六进制
说明
string dechex ( int number )
归来一字符串,包蕴有给定 number
参数的十六进制表示。所能转变的最大数值为十进制的 4294967295,其结果为
“ffffffff”。

2 首要内容

二,二进制(binary system)调换函数表明
1,二进制转十六制进 bin2hex() 函数

简要介绍 
十进制有12个基数:0-9;二进制有多个基数:0-1;八进制有多个基数:0-7;十六进制有十六个基数:0-9;A(10)-F(15);

$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
的十六进制表示。调换使用字节格局,高四个人字节优先。

1)十进制A到其它进制B(A进制到B进制)

2,二进制转十制进 bindec() 函数

中央:就用A除以B,用短除法并取余,直到商为0,由下到上余数连接即为B; 

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 类型。

2)二进制—十进制

三,八进制(octal system)转变函数表达
八进制转十进制 octdec() 函数

手续 1 写底数 2写指数(右到左从0最早)3乘周到 (右到左)4 累加

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 类型。

bf88必发唯一官网 12例 0,111(二进制)         7(十进制)

四,十六进制(hexadecimal)转变函数表达 十六进制转十进制 hexdec()函数

1)2 2 2 2    

var_dump(hexdec(“See”));
var_dump(hexdec(“ee”));
// both print “int(238)”

2)2³+2²+2 +2º

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。那样,全数侧边的零都被忽视,但左侧的零会计入值中。

3)0*2³+1*2²+1*2 +1*2º

五,率性进制调换 base_convert() 函数

4)0+4+2+1=7 

$hexadecimal = ‘A37334’;
echo base_convert($hexadecimal, 16, 2);//输出
101000110111001100110100
base_convert
(PHP 3 >= 3.0.6, PHP 4, PHP 5)

同理 别的进制A到十进制就能够使用公式

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。

3)别的进制转化

这里根本是把PHP进制转变函数实行重新整建,便于开采查找,相关具体函数表明请参谋PHP手册。请关心下期中文字符编码切磋连串。

1  *二进制到八进制

你也许感兴趣的篇章:

  • php颜色转变函数hex-rgb(将十六进制格式转成十进制格式)
  • PHP完成十进制、二进制、八进制和十六进制转变相关函数用法分析
  • php将字符串转换来16进制的办法
  • php图片的二进制转变达成形式
  • php
    达成进制调换(二进制、八进制、十六进制)相互转换完成代码
  • php达成公文与16进制相互调换的方法亲自去做
  • php达成36进制与10进制调换职能示例
  • PHP进制转变实例剖判(2,8,16,36,64进制至10进制相互转变)
  • PHP完成十进制数字与二十六进制字母串互相转变操作示例

从右到左,三人数字一组选择421(二进制111到十进制即为4+2+1=7)举办中间转播;

   *二进制到十六进制

从右到左,几个人数字一组选取8421(二进制1111到十进制即为8+4+2+1=15)进行转向;

2 八进制到二进制/十六进制到二进制

依照八进制/十六进制的每一人数字就用二进制代替就能够;

 

 

源于网络大卡的深解 

C#中二进制、八进制、十六进制和十进制之间的互相转化难题

 

 

首先来总结的看一下,C#小编自带的X进制之间的转移职能如下:

 

//十进制转二进制
Console.WriteLine(Convert.ToString(69, 2));

//十进制转八进制
Console.WriteLine(Convert.ToString(69, 8));

//十进制转十六进制
Console.WriteLine(Convert.ToString(69, 16));

//二进制转十进制
Console.WriteLine(Convert.ToInt32(”100111101″, 2));

//八进制转十进制
Console.WriteLine(Convert.ToInt32(”76″, 8));

//十六进制转十进制
Console.WriteLine(Convert.ToInt32(”FF”, 16));

十六进制 转向 十进制:

bf88必发唯一官网 13

bf88必发唯一官网,int myTempR = int.Parse(“EA”,System.Globalization.NumberStyles.HexNumber);

十进制 转向 十六进制:

bf88必发唯一官网 14

this.myResult.Text =
myTempR.ToString(“X”);

C#语言有相当的多值得学习的地方,这里大家根本介绍C#贯彻转移十六进制,包罗介绍用来表示十六进制的枚举值是
HexNumber等地点。

  C#兑现转移十六进制

  任何数据在处理器内部都是以二进制保存的,所以进制与数量的积累非亲非故,只与输入输出有关。所以,对于进制转变,大家只关注字符串中的结果。

  在上面的第 4 条中涉嫌了 ToString()
方法能够将数值转换到字符串,但是在字符串中,结果是以十进制彰显的。未来我们带给它加一些参数,就足以让C#落到实处转变到十六进制——使用
ToString(string) 方法。

  这里必要三个 string
类型的参数,那正是格式表达符。十六进制的格式表明符是 “x” 或者”X”,使用那二种格式表明符的区别主要在于 A-F 七个数字:”x” 代表 a-f
使用小写字母表示,而 “X” 而代表 A-F 使用大字字母表示。如下例:

private void TestHex() {  int a = 188;  this.textBox1.Text = "";  this.textBox1.AppendText("a(10) = " + a.ToString() + "\n");  this.textBox1.AppendText("a(16) = " + a.ToString("x") + "\n");  this.textBox1.AppendText("a(16) = " + a.ToString("X") + "\n");  }

  运转结果如下:

a(10) = 188  a(16) = bc  a(16) = BC

  那时候,我们也许有另一种须要,即为了展现结果的利落,大家必要调控十六进制表示的尺寸,假设长度远远不足,用辅导的
0
填补。消除这一个主题素材,我们只供给在格式表明符“x”也许“X”后写上象征长度的数字就行了。比如,要界定在
4 个字符的长度,能够写成“X4”。在上例中追加一句:

this.textBox1.AppendText("a(16) = " + a.ToString("X4") + "\n");

  其结果将出口 a(16) = 00BC。

  今后,大家还要说一说怎么样将多个代表十六进制数的字符串转换来整型。这一转变,同样要求借助
Parse() 方法。这里,作者须要 Parse(string,
System.Globalization.NumberStyles)
方法。第多少个参数是表示十六进制数的字符串,如“AB”、“20”(表示十进制的 32)
等。第二个参数 System.Globalization.NumberStyles
是二个枚举类型,用来代表十六进制的枚举值是
HexNumber。由此,假使我们要将“AB”转变来整型,就应该如此写:int b =
int.Parse(“AB”, System.Globalization.NumberStyles.HexNumber),最终获得的
b 的值是 171。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图