php中二进制运算的作用是什么
经常看到这种二进制运算
define("T_CHINESE", 1); //中文 define("T_SEP", 1 <p>用一个Int 的位,表示一种类型。比如中文数字就是 T_CHINESE | T_NUM,为什么可以这样用?<br> 看到的书上都是简单介绍下二进制运算,并没有相关运用,哪儿可以补相关知识。</p> <h2 id="回复内容">回复内容:</h2> <p>经常看到这种二进制运算</p><pre class="brush:php;toolbar:false">define("T_CHINESE", 1); //中文 define("T_SEP", 1 <p>用一个Int 的位,表示一种类型。比如中文数字就是 T_CHINESE | T_NUM,为什么可以这样用?<br> 看到的书上都是简单介绍下二进制运算,并没有相关运用,哪儿可以补相关知识。</p> <p class="answer fmt" data-id="1020000000098316"> </p><p>实际上你对这个问题看得这么费力,是因为php本身造成的,为什么这么说呢?因为在php 5.4之前,它居然不支持直接的二进制表达数字,比如我们在其它语言里常见的<code>0b0001</code>,在php里是无法识别的,而只支持16进制的<code>0x01</code>。在php 5.4里终于加入了对<code>0b</code>表达二进制数的支持,因此上面的代码可以用如下方法表达</p><pre class="brush:php;toolbar:false">define("T_CHINESE", 0b0000001); //中文 define("T_SEP", 0b0000010); //分割符合 define("T_NUM", 0b0000100); //数字 define("T_INDEX", 0b0001000); //索引 define("T_LETTER", 0b0010000); //字母 define("T_WORD", 0b0100000); //正常单词 define("T_OTHER", 0b1000000);
移位运算也非常简单,通过我对上面的代码的转换可以很容易看出来
1 <p>而逻辑运算就更简单了</p> <p class="answer fmt" data-id="1020000000098317"> </p><p>这种掩码位操作在相对底层一点的高级语言(比如C)里用得比较多, 你可以用一个32bit的无符号int(4字节)保存32个状态, 相对来讲比较省内存</p><p>比如STATUS = 0xffffffff & ( T_CHINESE | T_INDEX ); //代表既是中文又是索引</p><p>那判断状态的时候 STATUS & T_CHINESE 或者 STATUS & T_INDEX 返回的就是正值,代表中文,索引</p><p>而 STATUS & T_NUM 或者STATUS & T_LETTER返回的就是0, 代表非数字非字母了</p>

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
