Home  >  Article  >  Backend Development  >  How many bytes is php int?

How many bytes is php int?

藏色散人
藏色散人Original
2021-07-02 11:23:402807browse

php int is 4 bytes. The verification method is to use the constant PHP_INT_SIZE to get how many bytes the INT type occupies in the memory, and then use the echo statement to output the number of bytes obtained by the constant PHP_INT_SIZE.

How many bytes is php int?

The operating environment of this article: Windows7 system, PHP7.1 version, Dell G3 computer

How many bytes is php int? How many bytes does the output INT type occupy in memory?

Create a new 333.php, as shown in the figure:

Add the delimiter of php (), As shown in the figure:

Declares the file type and encoding for PHP to interact with the browser, as shown in the figure:

Use the constant PHP_INT_SIZE to get how many bytes the INT type occupies in the memory, as shown in the figure:

Use the echo statement to output the number of bytes obtained by the constant PHP_INT_SIZE , as shown in the picture:

Run the web page and display the obtained results on the browser, as shown in the picture:

section id="smaller-text-left-7">This is the end of this tutorial!

This is the end of this tutorial!

Content expansion

Understanding the different number of bytes occupied by the int type in php on different platforms

1. The number of bytes occupied and the maximum value on the platform

  • On the 32-bit platform int occupies 4 bytes, on the 64-bit platform int occupies 8 bytes, PHP_INT_SIZE
  • The maximum value of int on 32-bit platforms is 2^31 - 1, on 64-bit platforms the maximum value of int is 2^63 - 1, PHP_INT_MAX. Int in php does not support unsigned

2. Why is the number of bytes occupied by the int type different on different platforms?

No matter what type, the compiled language will convert the source code When compiled into machine code, since different platforms have different register bit widths, they have their own regulations on int, which makes the int data type quite special. The specific number of bytes allocated is related to the machine word length and the compiler. But it is generally equal to the machine register bit width (except for 64-bit platforms, the default is 4 bytes). If you write code on a 32-bit platform (the so-called 32-bit platform means that the data width of the general register is 32), the int type allocates 4 words byte, while on 16-bit platforms 2 bytes are allocated. The compiler is software that converts code into machine code. If it wants, it can convert int into 256-bit, but it will increase the complexity of the machine and reduce portability.

3. Platform

I consider these three together (CPU OS Compiler) because: 1. 64-bit machines can also be installed with 32-bit systems (x64 with XP) ;2. There can be 16/32-bit compilers on 32-bit machines (tc on XP is 16-bit, and other common ones are 32-bit); 3. Even a 32-bit compiler can produce 64-bit compilers integer(int64). The above are based on the common wintel platform, plus other platforms (other CPUs and OSs) that we may have few opportunities to come into contact with, so I personally think that the concept of the so-called platform is a combination of the three. Although the lengths of the three can be different, they obviously work together (that is, the lengths are equal, 32-bit CPU, 32-bit OS, 32-bit Compiler) to exert the greatest energy. Another topic, if you look at it from an abstract level, each program only has a virtual computing environment. You don’t need to consider the actual environment. You only need to understand the situation of the virtual environment. This does not consider portability or non-compliance. It is very helpful when programming at the bottom level, so that you can focus on your logic instead of implementation

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How many bytes is php int?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn