2013-10-28 3 views
0

Может ли кто-нибудь сказать мне, что такое бит в терминах непрофессионала? Я занимаюсь PHP-курсом по отладке, и инструктор использует этот термин много. Это связано с сообщением об ошибках PHP.Что это за поле битвы?

Вот цитата из стенограммы:

Сообщение об ошибках устанавливает уровень сообщения об ошибке с целым числом, представляющим битового поля обычно через именованную константу. По умолчанию по умолчанию PHP передает все, кроме E_NOTICE, и для версий до в PHP 5.4, также исключая E_STRICT.

Я думаю, что это важно, так как начинающий программист, который я понимаю номенклатуру моей профессии :)

Спасибо за вашу помощь!

Примечание: я уже сделал попытку википедии ...

+1

http://en.wikipedia.org/wiki/Bit_field –

ответ

1

Мы должны начать с того, что это немного. Бит будет принимать два значения - ноль или один. По соглашению, ноль также упоминается как false, а один - как истинный.

бит бит несколько бит.

Я отвлекся здесь, описав две общие организации бит - символы и слова.

В старые времена в то время на ПК выходили символы, где восемь бит и слова были 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 при взгляде с битовыми полями будет иметь другой вид.

Роберт

+0

Спасибо, как ваши, так и ответы @Nishith Jain M R были полезны, но я принял ваше, потому что было немного легче понять. Дело в том, что я не программист на низком уровне, поэтому для меня эти понятия определенно являются новой территорией. – gillytech

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; 
    
+0

Это хорошее начало, спасибо! Для чего они используются? Можете ли вы привести пример практического использования? Я понимаю эти понятия, но у меня нет контекста в моем сознании, как думать с этими данными. – gillytech