【问题标题】:what is the benefit of using Hexadecimal to define a variables in php? [closed]使用十六进制在 php 中定义变量有什么好处? [关闭]
【发布时间】:2013-07-08 06:22:10
【问题描述】:

我知道这看起来像一个哑问题,但是为什么高级开发人员使用十六进制变量作为以下代码:

//  LIST OF GENDER FLAGS
//  ***********************************
//  HEX VALUES from (0x6d)[m] and (0x66)[f] are reserved for [GENDER] FLAGS
const GENDER_MALE       = 0x6d;
const GENDER_FEMALE     = 0x66;
//  **************************************************

PS:我在一个 Yii 项目中发现了这段代码,这就是我将 Php 放在标签中的原因

【问题讨论】:

  • 这个问题似乎是题外话,因为它通常是关于编程的。考虑在programmers.stackexchange.com上发帖
  • 好的,我下次会做,我不知道这个网站。

标签: php hex


【解决方案1】:

十六进制数很容易变成二进制数。每个十六进制数字代表四个二进制数字(位),十六进制表示法的主要用途是在计算和数字电子设备中以人类友好的方式表示二进制编码值。这就是程序员使用它们的原因。

1 byte = 255 in dec and 0xFF but for example

3 字节 = 16777215 十进制和0xFFFFFF 十六进制。现在您看到数字更短了,因为它们有额外的 6 位数字(A-F)。

当您将常量定义为十六进制时,您可以获得很多优势。例如:

  1. 您可以使用标志PHP function flags, how?
  2. 十六进制数字更容易记住,它们更短。

编辑

广告 1。标志显然可以与任何其他数字系统一起使用,但十六进制使它们更容易理解和更具可读性。

【讨论】:

  • 第 2 点对我来说没有意义。类常量的好处之一是我们不必必须记住它们持有的数字/​​值
  • 您可以使用许多不同的符号来定义它们的标志,它不必是十六进制的标志。
  • 当然它不需要是十六进制的,我同意,但是当你使用十六进制时,它更容易阅读。
  • 在 OP 的示例中,使用实际的“m”和“f”会更具可读性...
  • 我只会使用mf,除非上下文要求我做一些特定的事情。十六进制值可能对与此代码交互的应用程序有意义。
【解决方案2】:

这是一个品味问题。一方面,使用十六进制可以使常量排列得很好,而且打字更少。

而且看起来很酷。

【讨论】:

  • 甚至无法告诉你我通过丢下一些十六进制得到了多少尾巴。 ;)
猜你喜欢
  • 2015-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
  • 2012-06-10
  • 2023-04-09
  • 2011-08-06
相关资源
最近更新 更多