广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP实现在线进制转换器,10进制,2、4、8、16、32进制转换
  • 833
分享到

PHP实现在线进制转换器,10进制,2、4、8、16、32进制转换

php开发语言 2023-08-31 18:08:46 833人浏览 泡泡鱼
摘要

1.接口文档     2.laravel实现代码 public function binaryConvertCal() { $ten = $this->request('ten'); $two

1.接口文档 

 

 2.laravel实现代码

     public function binaryConvertCal()    {        $ten = $this->request('ten');        $two = $this->request('two');        $four = $this->request('four');        $eight = $this->request('eight');        $sixteen = $this->request('sixteen');        $thirty_two = $this->request('thirty_two');        $type = intval($this->request('type')) ?: 10;        $data = [            'ten' => $ten,            'two' => $two,            'four' => $four,            'eight' => $eight,            'sixteen' => $sixteen,            'thirty_two' => $thirty_two        ];        if ($type == 10 && $ten) {            // 1.十进制            $data['ten'] = $ten;            // 2.将十进制转换二进制            $data['two'] = decbin($ten);            // 3.十进制转换四进制            $data['four'] = $this->decimalToBase($ten, 4);            // 4.十进制转换八进制            $data['eight'] = decoct($ten);            // 5.十进制转换十六进制            $data['sixteen'] = dechex($ten);;            // 6.十进制转换三十二进制            $data['thirty_two'] = $this->base10ToBase32($ten);        }        if ($type == 2 && $two) {            // 1.二进制转换十进制            $ten = bindec($two);            $data['ten'] = $ten ?: 'NAN';            // 2.二进制            $data['two'] = $two;            // 3.二进制转换为四进制            $fourNumber = bindec($two); // 转换为10进制            $fourNumber = base_convert($fourNumber, 10, 4); // 转换为4进制            $data['four'] = $fourNumber ?: 'NAN';            // 4.二进制转换为八进制            $eightNumber = bindec($two); // 转换为10进制            $eight = base_convert($eightNumber, 10, 8); // 转换为8进制            $data['eight'] = $eight ?: 'NAN';            // 5.二进制转换为十六进制            $sixteenNumber = bindec($two); // 转换为10进制            $sixteen = base_convert($sixteenNumber, 10, 16); // 转换为16进制            $data['sixteen'] = $sixteen ?: 'NAN';            // 6.二进制转换为三十二进制            $decimalNumber = bindec($two); // 将二进制数字转换为十进制            $thirty_two = base_convert($decimalNumber, 10, 32); // 将十进制数字转换为32进制            $data['thirty_two'] = $thirty_two ?: 'NAN';        }        if ($type == 4 && $four) {            // 1.四进制转换十进制            $ten = $this->base4_to_decimal($four);            $data['ten'] = $ten ?: 'NAN';            // 2.四进制转换为二进制            $two = $this->base4_to_binary($four);            $data['two'] = $two ?: 'NAN';            // 3.四进制            $data['four'] = $four;            // 4.四进制转换为八进制            $eight = $this->base4_to_octal($four);            $data['eight'] = $eight ?: 'NAN';            // 5.四进制转换为十六进制            $sixteen = $this->base4_to_hexadecimal($four);            $data['sixteen'] = $sixteen ?: 'NAN';            // 6.四进制转换为三十二进制            $thirty_two = $this->base4_to_base32($four);            $data['thirty_two'] = $thirty_two ?: 'NAN';        }        if ($type == 8 && $eight) {            // 1. 8进制转换为10进制            $ten = octdec($eight);            $data['ten'] = $ten ?: 'NAN';            // 2. 8制转换为二进制            $two = base_convert($eight, 8, 2);            $data['two'] = $two ?: 'NAN';            // 3. 8进制转换为4进制            $four = base_convert($eight, 8, 4);            $data['four'] = $four ?: 'NAN';            // 4. 8进制            $data['eight'] = $eight;            // 5. 8进制转换为16进制            $sixteen = base_convert($eight, 8, 16);            $data['sixteen'] = $sixteen ?: 'NAN';            // 6. 8进制转换为32进制            $base32Chars = '0123456789ABCDEFGHIJKLMNOPQRSTUV';            $base32Number = '';            $decimalNumber = octdec($eight);            while ($decimalNumber > 0) {                $remainder = $decimalNumber % 32;                $base32Number = $base32Chars[$remainder] . $base32Number;                $decimalNumber = intdiv($decimalNumber, 32);            }            $data['thirty_two'] = $base32Number ?: 'NAN';        }        if ($type == 16 && $sixteen) {            // 1. 将16进制转换为10进制            $ten = hexdec($sixteen);            $data['ten'] = $ten ?: 'NAN';            // 2. 16制转换为2进制            $two = base_convert($sixteen, 16, 2);            $data['two'] = $two ?: 'NAN';            // 3. 16进制转换为4进制            $four = base_convert($sixteen, 16, 4);            $data['four'] = $four ?: 'NAN';            // 4. 16进制转换为8进制            $eight = base_convert($sixteen, 16, 8);            $data['eight'] = $eight;            // 5. 16进制            $data['sixteen'] = $sixteen;            // 6. 将16进制转换为32进制            $thirty_two = $this->hexToBase32($sixteen);            $data['thirty_two'] = $thirty_two ?: 'NAN';        }        if ($type == 32 && $thirty_two) {            // 1. 将32进制转换为10进制            $ten = $this->base32ToDecimal($thirty_two);            $data['ten'] = $ten ?: 'NAN';            // 2. 32制转换为2进制            $two = $this->base32ToBinary($thirty_two);            $data['two'] = $two ?: 'NAN';            // 3. 32进制转换为4进制            $four = $this->base32ToQuaternary($thirty_two);            $data['four'] = $four ?: 'NAN';            // 4. 32进制转换为8进制            $eight = $this->base32ToOctal($thirty_two);            $data['eight'] = $eight;            // 5. 32进制转换为16进制            $data['sixteen'] = $this->base32ToHex($thirty_two);            // 6. 32进制            $data['thirty_two'] = $thirty_two;        }        return $this->jsonSuc(['result' => $data]);    }        function decimalToBase($decimal, $base)    {        $result = '';        while ($decimal > 0) {            $remainder = $decimal % $base;            $result = $remainder . $result;            $decimal = (int)($decimal / $base);        }        return $result;    }        function base10ToBase32($num)    {        $chars = '0123456789ABCDEFGHIJKLMNOPQRSTUV';        $base32 = '';        while ($num > 0) {            $remainder = $num % 32;            $base32 = $chars[$remainder] . $base32;            $num = (int)($num / 32);        }        return ($base32 === '') ? '0' : $base32;    }        function base4_to_decimal($num)    {        $decimal = 0;        $base = 4;        $num_length = strlen($num);        for ($i = 0; $i < $num_length; $i++) {            $digit = intval($num[$i]);            $decimal += $digit * pow($base, $num_length - $i - 1);        }        return $decimal;    }        function base4_to_binary($num)    {        $decimal = $this->base4_to_decimal($num);        return decbin($decimal);    }        function base4_to_octal($num)    {        $decimal = $this->base4_to_decimal($num);        return decoct($decimal);    }        function base4_to_hexadecimal($num)    {        $decimal = $this->base4_to_decimal($num);        return dechex($decimal);    }        function base4_to_base32($num)    {        $decimal = $this->base4_to_decimal($num);        return base_convert($decimal, 10, 32);    }        function hexToBase32($hex)    {        $base32Chars = '0123456789ABCDEFGHIJKLMNOPQRSTUV';        $result = '';        // 将十六进制字符串拆分成两个字符一组        $hexPairs = str_split($hex, 2);        // 将每个十六进制对转换为十进制,并将其转换为五位长的三十二进制数        foreach ($hexPairs as $pair) {            $dec = hexdec($pair);            $base32 = '';            while ($dec >= 32) {                $rem = $dec % 32;                $base32 = $base32Chars[$rem] . $base32;                $dec = (int)($dec / 32);            }            $base32 = $base32Chars[$dec] . $base32;            $result .= $base32;        }        return $result;    }        function base32ToDecimal($num)    {        $base32_chars = "0123456789abcdefghijklmnopqrstuv";        $dec = 0;        $len = strlen($num);        for ($i = 0; $i < $len; $i++) {            $pos = strpos($base32_chars, $num[$i]);            $dec = 32 * $dec + $pos;        }        return $dec;    }        function base32ToBinary($num)    {        $dec = $this->base32ToDecimal($num);        $binary = decbin($dec);        return $binary;    }        function base32ToQuaternary($num)    {        $dec = $this->base32ToDecimal($num);        $quaternary = base_convert($dec, 10, 4);        return $quaternary;    }        function base32ToOctal($num)    {        $dec = $this->base32ToDecimal($num);        $octal = decoct($dec);        return $octal;    }        function base32ToHex($num)    {        $dec = $this->base32ToDecimal($num);        $hex = dechex($dec);        return $hex;    }

来源地址:https://blog.csdn.net/qq_32450471/article/details/132184930

--结束END--

本文标题: PHP实现在线进制转换器,10进制,2、4、8、16、32进制转换

本文链接: https://www.lsjlt.com/news/386541.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP实现在线进制转换器,10进制,2、4、8、16、32进制转换
    1.接口文档     2.laravel实现代码 public function binaryConvertCal() { $ten = $this->request('ten'); $two...
    99+
    2023-08-31
    php 开发语言
  • php中16进制和10进制怎么相互转换
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑16进制和10进制的相互转换1、16进制数转10进制数可以使用 hexdec(十六进制字符串) 函数,它可把十六进制数转换为十进制数。<php echo hexd...
    99+
    2018-10-22
    php 16进制 10进制 进制转换
  • php中16进制和10进制如何相互转换
    这篇文章给大家分享的是有关php中16进制和10进制如何相互转换的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。相互转换的方法:1、使用“hexdec(十六进制字符串)”语句,可将16进制转为10进制数;2、使用“...
    99+
    2023-06-22
  • php怎么实现10进制转8进制
    本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。php怎么实现10进制转8进制 代码如下://十进制、二进制、八进制、十六进制转换 //十进制转换为二进制decbin()函数: //echo decbi&#...
    99+
    2022-03-14
    php 10进制 8进制
  • php如何实现10进制转8进制
    这篇文章给大家分享的是有关php如何实现10进制转8进制的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php实现10进制转8进制的方法:1、创建一个PHP示例文件;2、通过“decoct()”方法把十进...
    99+
    2023-06-21
  • JS 实现10进制转换36进制的示例代码
    前言 我们在平时写代码的时候偶尔会碰到进制转换的问题,常见的有2进制,8进制,10进制,16进制之间的转换,但是36进制却很少听过,这里就让我们用JS来简单尝试一下36进制的实现吧...
    99+
    2022-11-12
  • php怎么实现八进制转换十六进制
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php怎么实现八进制转换十六进制?base_convert() 函数在任意进制之间转换数字。把八进制数转换为十六进制数:<php $oct = "364&...
    99+
    2015-06-03
    php 八进制 十六进制
  • php怎样实现八进制转换十六进制
    本篇文章为大家展示了php怎样实现八进制转换十六进制,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。php实现八进制转换十六进制的方法:1、创建一个PHP示例文件;2、通过“base_convert(...
    99+
    2023-06-29
  • Python+Tkinter实现RGB数值转换为16进制码
    这次,我们用Tkinter写一个RGB转16进制的一个小工具,先看看效果: 代码教学 导入模块 from tkinter import * 创建窗口 root=Tk() roo...
    99+
    2023-01-06
    Python Tkinter RGB数值转16进制码 Python RGB数值转16进制码 Python RGB 16进制码
  • AndroidStudio实现简易进制转换计算器
    本文实例为大家分享了Android Studio实现简易进制转换计算器的具体代码,供大家参考,具体内容如下 1、问题描述 设计并实现一个数制转换器,能够对输入的任- -进制类型的数值...
    99+
    2022-11-13
  • C语言实现任意进制转换器
    本文实例为大家分享了C语言实现任意进制转换器的具体代码,供大家参考,具体内容如下 简单的C语言任意进制转换器 该进制转换器可进行任意进制转换,请看效果图: 代码 #include...
    99+
    2022-11-13
  • Shell脚本之进制转换器的实现
    目录一、需求说明二、脚本内容三、使用示例一、需求说明 计算IP地址我们经常需要将十进制和二进制数值之间进行转换,实际上进制之间转换通过bc命令就可以完成。此进制转换器shell脚本就是利用bc进制转换功能来实现我们的需求...
    99+
    2023-03-23
    Shell 进制转换器 Shell 进制转换
  • Shell脚本之进制转换器如何实现
    本篇内容介绍了“Shell脚本之进制转换器如何实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、需求说明计算IP地址我们经常需要将十进制...
    99+
    2023-07-05
  • Android Studio如何实现简易进制转换计算器
    这篇文章主要介绍了Android Studio如何实现简易进制转换计算器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android Studio如何实现简易进制转换计算器文章都会有所收获,...
    99+
    2023-06-30
  • 怎么在python中使用format实现一个进制转换功能
    怎么在python中使用format实现一个进制转换功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。10进行十进制,十六进制,八进制,二进制的转换:(#:保留进制前缀)对...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作