Php десятичное в шестнадцатеричное

Руководство по математическим операторам в PHP

В PHP есть несколько встроенных функций, которые помогут вам выполнить практически любую математическую операцию. Основные математические операции мы рассмотрели в Руководстве по операторам в PHP. Давайте посмотрим еще на один пример:

Каждая математическая операция имеет определенный уровень приоритета; обычно умножение и деление выполняются перед сложением и вычитанием. Однако скобки могут изменить этот приоритет; выражения, заключенные в круглые скобки, всегда считаются первыми, независимо от уровня приоритета операции, как показано в следующем примере:

В следующем разделе мы рассмотрим некоторые встроенные PHP-функции, которые наиболее часто используются при выполнении математических операций.

Поиск абсолютного значения числа

Абсолютное значение целого числа или числа с плавающей запятой можно найти с помощью функции abs() , как показано в следующем примере:

Как вы можете видеть, если заданное число отрицательное, возвращаемое значение положительное. Но, если число положительное, эта функция просто возвращает число.

Округление дробного значения в большую или меньшую сторону

Функцию ceil() можно использовать для округления дробного значения до следующего наибольшего целочисленного значения, тогда как функцию floor() можно использовать для округления дробного значения до следующего наименьшего целочисленного значения, как показано в следующем примере:

Читайте также:  Java list sort by object field

Вычисление квадратного корня числа

Вы можете использовать функцию sqrt() , чтобы найти квадратный корень из положительного числа. Эта функция возвращает специальное значение NAN для отрицательных чисел. Вот пример:

Генерация случайного числа

Функцию rand() можно использовать для генерации случайного числа. При желании вы можете указать диапазон, передав аргументы min , max , как показано в следующем примере:

"; echo rand() . "
"; // Генерация случайных чисел от 1 до 10 (включительно) echo rand(1, 10) . "
"; echo rand(1, 10) . "
"; ?>

Если функция rand() вызывается без необязательных аргументов min , max , она возвращает псевдослучайное число от 0 и getrandmax() . Функция getrandmax() показывает максимально возможное случайное значение, которое на платформе Windows составляет всего 32767. Итак, если вам требуется диапазон больше 32767, вы можете просто указать аргументы min и max .

Преобразование десятичных чисел в двоичные и наоборот

Функция decbin() используется для преобразования десятичного числа в двоичное. В то время как ее аналог функция bindec() преобразует число из двоичного в десятичное.

Преобразование десятичных чисел в шестнадцатеричные и наоборот

Функция dechex() используется для преобразования десятичного числа в шестнадцатеричное. В то время как функция hexdec() используется для преобразования шестнадцатеричной строки в десятичное число.

Преобразование десятичных чисел в восьмеричные и наоборот

Функция decoct() используется для преобразования десятичного числа в восьмеричное, в то время как функция octdec() используется для преобразования восьмеричного числа в десятичное.

Преобразование числа из одной базовой системы в другую

Функцию base_convert() можно использовать для преобразования числа из одной базовой системы в другую. Например, вы можете преобразовать десятичное (основание 10) в двоичное (основание 2), шестнадцатеричное (основание 16) в восьмеричное (основание 8), восьмеричное в шестнадцатеричное, шестнадцатеричное в десятичное и т. д.

Эта функция принимает три параметра: число, которое нужно преобразовать, основание, в котором оно находится, и основание, в которое оно должно быть преобразовано. Базовый синтаксис следующий:

base_convert(number, frombase, tobase);

Здесь число может быть целым числом или строкой, представляющей целое число. Оба параметра frombase и tobase должны быть от 2 до 36 включительно. Цифры в числах с основанием больше 10 будут представлены буквами a-z, где a означает 10, b означает 11, а z означает 35. Вот простой пример, показывающий, как работает эта функция:

Функция base_convert() всегда возвращает строковое значение. Если возвращаемое значение имеет основание 10, результирующая строка может использоваться как числовая строка в вычислениях, и PHP преобразует ее в число при выполнении вычисления.

beget banner 480x320 etxt banner 480x320 skillbox banner 480x320

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 2

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Руководство по загрузке файлов на сервер в PHP

В этом руководстве мы узнаем, как загружать файлы на удаленный сервер с помощью простой HTML-формы и PHP. Вы можете загружать файлы любого типа, например изображения, видео, ZIP-файлы, документы Microsoft Office, PDF-файлы, а также исполняемые файлы и множество других типов файлов. Шаг 1. Создание HTML-формы для загрузки файла В следующем примере будет создана простая HTML-форма, которую…

Руководство по GET и POST запросам в PHP

Веб-браузер связывается с сервером, как правило, с помощью одного из двух HTTP-методов (протокола передачи гипертекста) — GET и POST. Оба метода передают информацию по-разному и имеют разные преимущества и недостатки, как описано ниже. PHP-метод GET В методе GET данные отправляются в виде параметров URL, которые обычно представляют собой строки пар имени и значения, разделенные амперсандами…

Список сообщений об ошибках в PHP

Обычно, когда движок PHP сталкивается с проблемой, препятствующей правильной работе скрипта, он генерирует сообщение об ошибке. Существует шестнадцать различных уровней ошибок, и каждый уровень представлен целым числом и связанной с ним константой. Вот список уровней ошибок: Название Значение Описание E_ERROR 1 Неустранимая ошибка времени выполнения от которой невозможно избавиться. Выполнение скрипта немедленно прекращается E_WARNING 2…

Разработка сайтов для бизнеса

Если у вас есть вопрос, на который вы не знаете ответ — напишите нам, мы поможем разобраться. Мы всегда рады интересным знакомствам и новым проектам.

Источник

hexdec

Возвращает десятичный эквивалент шестнадцатеричного числа, содержащегося в аргументе hex_string . hexdec() преобразует шестнадцатеричную строку в десятичное число.

hexdec() игнорирует любые обнаруженные не шестнадцатеричные символы. Начиная с PHP 7.4.0, предоставление любых некорректных символов устарело.

Список параметров

Шестнадцатеричная строка для преобразования

Возвращаемые значения

Десятичное представление hex_string

Список изменений

Версия Описание
7.4.0 Передача некорректных символов будет выдавать уведомление об устаревании. Результат будет вычислен так, как если бы некорректные символы не существовали.

Примеры

Пример #1 Пример использования hexdec()

var_dump ( hexdec ( «See» ));
var_dump ( hexdec ( «ee» ));
// в обоих случаях будет выведено «int(238)»

var_dump ( hexdec ( «that» )); // выведет «int(10)»
var_dump ( hexdec ( «a0» )); // выведет «int(160)»
?>

Примечания

Замечание:

Эта функция может конвертировать числа, которые слишком большие для типа int на текущей платформе. В этом случае большие значения возвращаются как float .

Смотрите также

  • dechex() — Переводит число из десятичной системы счисления в шестнадцатеричную
  • bindec() — Двоичное в десятичное
  • octdec() — Переводит число из восьмеричной системы счисления в десятичную
  • base_convert() — Преобразование числа между произвольными системами счисления

User Contributed Notes 31 notes

Use this function to convert a hexa decimal color code to its RGB equivalent. Unlike many other functions provided here, it will work correctly with hex color short hand notation.

Also, if a proper hexa decimal color value is given (6 digits), it uses bit wise operations for faster results.

For eg: #FFF and #FFFFFF will produce the same result

/**
* Convert a hexa decimal color code to its RGB equivalent
*
* @param string $hexStr (hexadecimal color value)
* @param boolean $returnAsString (if set true, returns the value separated by the separator character. Otherwise returns associative array)
* @param string $seperator (to separate RGB values. Applicable only if second parameter is true.)
* @return array or string (depending on second parameter. Returns False if invalid hex color value)
*/
function hex2RGB ( $hexStr , $returnAsString = false , $seperator = ‘,’ ) $hexStr = preg_replace ( «/[^0-9A-Fa-f]/» , » , $hexStr ); // Gets a proper hex string
$rgbArray = array();
if ( strlen ( $hexStr ) == 6 ) < //If a proper hex code, convert using bitwise operation. No overhead. faster
$colorVal = hexdec ( $hexStr );
$rgbArray [ ‘red’ ] = 0xFF & ( $colorVal >> 0x10 );
$rgbArray [ ‘green’ ] = 0xFF & ( $colorVal >> 0x8 );
$rgbArray [ ‘blue’ ] = 0xFF & $colorVal ;
> elseif ( strlen ( $hexStr ) == 3 ) < //if shorthand notation, need some string manipulations
$rgbArray [ ‘red’ ] = hexdec ( str_repeat ( substr ( $hexStr , 0 , 1 ), 2 ));
$rgbArray [ ‘green’ ] = hexdec ( str_repeat ( substr ( $hexStr , 1 , 1 ), 2 ));
$rgbArray [ ‘blue’ ] = hexdec ( str_repeat ( substr ( $hexStr , 2 , 1 ), 2 ));
> else return false ; //Invalid hex color code
>
return $returnAsString ? implode ( $seperator , $rgbArray ) : $rgbArray ; // returns the rgb string or the associative array
> ?>

OUTPUT:

hex2RGB(«#FF0») -> array( red =>255, green => 255, blue => 0)
hex2RGB(«#FFFF00) -> Same as above
hex2RGB(«#FF0», true) -> 255,255,0
hex2RGB(«#FF0», true, «:») -> 255:255:0

The issue I’ve seen with the existing hex to dec conversion routines is the lack of error-trapping. I stick to the theory that one should try to cover ALL the bases when writing a generalized routine such as this one. I have a varied background that covers a wide variety of design/development languages, on the web as well as desktop apps. As such I’ve seen multiple formats for writing hex colors.

For example, the color red COULD be written as follows:
#ff0000
&Hff0000
#ff
&Hff

Therefore I have written a function that is case-insensitive and takes into account the chance that different developers have a tendency to format hex colors in different ways.

function convert_color ( $hex ) $len = strlen ( $hex );
$chars = array( «#» , «&» , «H» , «h» );
$hex = strip_chars ( $hex , $chars );
preg_match ( «/(3|[A-F]|[a-f])/i» , $hex , $arr );
$hex = $arr [ 0 ];
if ( $hex ) switch( $len ) case 2 :
$red = hexdec ( $hex );
$green = 0 ;
$blue = 0 ;
break;
case 4 :
$red = hexdec ( substr ( $hex , 0 , 2 ));
$green = hexdec ( substr ( $hex , 2 , 2 ));
$blue = 0 ;
break;
case 6 :
$red = hexdec ( substr ( $hex , 0 , 2 ));
$green = hexdec ( substr ( $hex , 2 , 2 ));
$blue = hexdec ( substr ( $hex , 4 , 2 ));
break;
>;
$color [ success ] = true ;
$color [ r ] = $red ;
$color [ g ] = $green ;
$color [ b ] = $blue ;
return $color ;
> else $color [ success ] = false ;
$color [ error ] = «unable to convert hex to dec» ;
>;
>

function strip_chars ( $string , $char ) $len = strlen ( $string );
$count = count ( $char );
if ( $count >= 2 ) for ( $i = 0 ; $i <= $count ; $i ++) if ( $char [ $i ]) $found = stristr ( $string , $char [ $i ]);
if ( $found ) $val = substr ( $string , $found + 1 , $len — 1 );
$string = $val ;
>;
>;
>;
> else $found = stristr ( $string , $char );
if ( $found ) $val = substr ( $string , $found + 1 , $len — 1 );
>;
>;
echo $val ;
return $val ;
>

/*
To use simply use the following function call:
$color = convert_color(«#FF»);
this will return the following assoc array if successful:
*[success] = true
*[r] = 255
*[g] = 0
*[b] = 0

or copy and paste the following code:

$hex = «FFFFFF»; // Color White
$color = convert_color($hex);
var_dump($color);
*/
?>

As you can see, the function «convert_color» accepts a hex # in most acceptable formats and returns an associative array. [success] is set to TRUE if the function succeeds and FALSE if not. The array members [r], [g] and [b] hold the red,green and blue values respectively. If it fails, [error] holds a custom error message.

«strip_chars» is a support function written to remove the unwanted characters from the hex string, and sends the concatenated string back to the calling function. It will accept either a single value or an array of values for the characters to remove.

Источник

Оцените статью