外行人的术语是什么?

时间:2013-10-28 04:22:46

标签: php c terminology

任何人都可以告诉我外行人的条款是什么?我正在进行调试的PHP课程,教师正在使用该术语。这是在PHP错误报告的上下文中。

以下是成绩单的引用:

  

错误报告使用整数设置错误报告级别   通常通过命名常量表示位字段。通过   默认情况下,PHP会报告除E_NOTICE之外的所有内容以及之前的版本   到PHP 5.4,也不包括E_STRICT。

我认为作为一名有抱负的程序员,我理解我的交易术语是非常重要的:)

感谢您的帮助!

注意: 我已经尝试过维基百科......

2 个答案:

答案 0 :(得分:2)

我们需要从有点开始。一个位将采用两个值 - 零或一个。按照惯例,零也被称为假,而一个被称为真。

位字段是几位。

我将通过描述两个常见的比特组织 - 字符和单词来离题。

在过去,当时pc出现了八位字和32位的字符。今天,单词正在转向64位字。字符移动到16位。

表示位字段的整数

我不知道PHP如何分割整数,但这是个主意。基本上,如果你在位级别查看整数,你会发现一些具有某种含义的模式。

你需要了解十六进制和2的幂才能更好地理解这一点。

a 32 bit integer would be
0000 0000  0000 0000  0000 0000  0000 0000  

Putting in two bit fields...
0000 0000  0000 0000  0000 0000  AAAA BBBB 

从比特中查看整数,您可以找到两个字段A& B每4位宽。

AAAA的值可能是十六进制的1100或C. BBBB的十六进制值可能为0111或7。

整数的值为C7(十六进制)或199(十进制)。

因此,使用位字段查看时的整数199将具有不同的外观。

罗伯特

答案 1 :(得分:1)

  • 位字段是由指定位数组成的变量。
  • 位字段可以是结构或联合的成员。
  • 位字段被解释为整数类型。

    语法:

    struct structName
    {
      dataType identifierName1: numberOfBits;
      dataType identifierName2: numberOfBits;
      ...
    };
    
  • 'numberOfBits'必须是非负整数值。

  • 位字段没有地址。有位数组的数组,指向位字段的指针和返回位字段的函数是不可能的。

  • 地址操作符(&)不能应用于位字段

  • 未命名的位字段可以存在且无法引用它们。

  • 运行时未命名的位字段的内容是不可预测的。它们可以用作“虚拟”字段,用于对齐目的。

  • 宽度指定为0的未命名位字段保证声明列表中跟随它的成员的存储开始于int边界。

    typedef struct bitField
    {
      unsigned x  : 3;  // 0 to +7   (3 bits)
      signed      : 2;  // No name - 2 Bits of padding 
      signed y    : 6;  // -32 t0 +31  (6 bits)
      unsigned    : 0;  // Force alignment to next boundary.
      unsigned z  : 1;  // 0 or 1   
    } Temp;