PHP十进制整数转十六进制函数教程
PHP十进制整数转十六进制函数教程
本教程将指导您创建一个自定义PHP函数,用于将十进制整数转换为十六进制字符串。
函数目标:
编写一个名为 unt_1 的函数,该函数接受一个整数作为输入,并返回其十六进制表示形式的字符串。
函数要求:
- 函数应该能够处理正整数和负整数。
- 对于负整数,返回值应该以负号('-')开头。
代码示例:
<?php
function unt_1(int $n){
$hexStr = '';
$isNegative = false;
if($n < 0){
$isNegative = true;
$n = -$n;
}
while($n > 0){
$remainder = $n % 16;
if($remainder < 10){
$hexStr = (char)($remainder + '0') . $hexStr;
}else{
$hexStr = (char)($remainder - 10 + 'A') . $hexStr;
}
$n /= 16;
}
if($isNegative){
$hexStr = '-' . $hexStr;
}
return $hexStr;
}
// 测试用例
$n = 78;
echo unt_1($n); // 输出 4E
$n = -78;
echo unt_1($n); // 输出 -4E
?>
代码解释:
- 函数定义: 定义名为
unt_1的函数,接受一个整数$n作为参数。 - 变量初始化: 初始化一个空字符串
$hexStr用于存储结果,以及一个布尔变量$isNegative用于标记输入是否为负数。 - 处理负数: 如果输入
$n为负数,则将$isNegative设置为true,并将$n转换为其绝对值。 - 循环转换: 使用
while循环,只要$n大于 0 就一直执行以下操作:- 计算
$n除以 16 的余数$remainder。 - 如果
$remainder小于 10,则将其转换为对应的数字字符并添加到$hexStr的开头。 - 否则,将
$remainder转换为对应的字母字符(A-F)并添加到$hexStr的开头。 - 将
$n除以 16 并更新其值。
- 计算
- 添加负号: 如果
$isNegative为true,则在$hexStr的开头添加负号 '-'. - 返回值: 返回转换后的十六进制字符串
$hexStr。
使用示例:
$decimalNumber = 78;
$hexadecimalString = unt_1($decimalNumber);
echo $hexadecimalString; // 输出: 4E
此函数可以帮助您在PHP脚本中轻松地进行十进制到十六进制的转换。您可以复制粘贴此代码到您的项目中,并根据需要进行修改和使用。
原文地址: https://www.cveoy.top/t/topic/jv70 著作权归作者所有。请勿转载和采集!