Current Location: Home> Latest Articles> What is the difference between hexdec("000000FF") and hexdec("FF")?

What is the difference between hexdec("000000FF") and hexdec("FF")?

gitbox 2025-05-28

In PHP programming, the hexdec() function is used to convert hexadecimal numbers into decimal numbers. This is a very common function when dealing with color values, binary data, or interacting with the underlying system. This article will explore their differences and understanding of return values ​​based on the two examples of hexdec("000000FF") and hexdec("FF") .

1. Basic usage of hexdec()

hexdec() accepts a string parameter that represents a hexadecimal number (can contain characters of 0-9 and AF/af), and then converts it to the corresponding decimal integer. For example:

 echo hexdec("1A"); // Output 26

Hexdec() will be parsed correctly regardless of whether there are leading zeros in front of the hex string.

2. Comparison of the return value of hexdec("000000FF") and hexdec("FF")

 <?php
echo hexdec("000000FF"); // Output 255
echo "\n";
echo hexdec("FF");       // Output 255
?>

As can be seen, both are 255 .

What does this mean?

  • The hexadecimal numbers 000000FF and FF are exactly the same in numerical values, and the leading zeros will not change the numerical size.

  • When parsing hexdec(), the extra zeros on the left side of the number in the string are ignored and converted directly into the corresponding decimal number.

3. Why are there leading zeros?

Leading zeros are usually meant to keep the format of the values ​​aligned, such as the 8- or 6-bit forms commonly used in color codes:

  • For example, in the 8-bit representation of the alpha channel of the color value, 000000FF represents a completely opaque blue channel.

  • Just writing FF omitted the previous byte part and only represents the last part of the data.

4. How to understand their return values?

hexdec() returns the corresponding decimal value, the data type is an integer or a floating point number (if the value is large). For example:

  • hexdec("FF") => 255

  • hexdec("000000FF") => 255

Although the input string length is different, the values ​​are equal.

It should be noted that if the string contains hexadecimal numbers that exceed the range of PHP integers, hexdec() returns a floating point number, which may result in loss of precision.

5. Summary

  • The hexdec() function ignores the previous zeros in the hex string and does not affect the conversion result.

  • hexdec("000000FF") and hexdec("FF") return the same decimal value 255 .

  • Leading zeros are mostly used for format uniformity and string alignment, and have no effect at the numerical level.

If you want to know more about PHP string processing and numerical conversion, you can refer to the related tutorial on gitbox.net/php-string-functions .