23 июл. 2015 г.

Красиво

xxx: Есть друг, программист до мозга костей. Недавно у него был "юбилей", 32 года! Он не просто его отметил, а еще и купил 8 свечек, воткнул их в ряд в торт, а зажег только шестую! :D

34 комментария:

  1. Непонятно зачем восемь - шести вполне достаточно.

    ОтветитьУдалить
    Ответы
    1. Потому что байт - восьмибитный.
      Машины у которых байт был не восемь бит - дела давно минувших дней, преданья старины глубокой.
      Ну или какая-то страшенная экзотика ,про которую лично я не в курсе

      Удалить
    2. 2Eugene: А зачем вообще байт, почему на нем такая фиксация?

      Удалить
    3. 2fms. Потому что минимально адресуемая ячейка памяти

      Удалить
    4. 2Eugene: Даже не буду спрашивать причем тут память, но вот скажем у CP1610 минимально адресуемая ячейка памяти - 10бит или 16бит, в зависимости от подключенного устройства. =)

      Удалить
    5. Этот комментарий был удален автором.

      Удалить
    6. > у CP1610 минимально адресуемая ячейка памяти - 10бит или 16бит

      Я, каюсь как на духу, не знаю кто такое CP1610. Но молю, пришлите мне листинг программства, которое умеет с этим работать. Обещаю на простое объявление переменной размером с двойное машинное слово медитировать минимум неделю, при условии что без перекомпиляции это умеет работать и при 10 и при 16

      Удалить
    7. 2Eugene: Вы не поняли сути того, что я пытался сказать. Конкретное количество адресуемых бит тут вообще ни причем.

      Удалить
    8. Да, не понял.
      Биты никто не адресует.
      Адресуют байты

      Удалить
    9. Представители обменялись дружескими фейспалмами.

      Удалить
  2. Интересно. А почему не четвертую?

    ОтветитьУдалить
    Ответы
    1. А если я спрошу, почему не третью, это будет совсем плохо?

      Удалить
    2. Не знаю даже. Но в данном случае 1 - это вполне себе шестой бит и никак иначе

      Удалить
    3. 2Galapp: если Вы знакомы с математикой, то

      N=SUMi(2^i * BIT(i))
      64 = 1*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 0*2^0

      Если Вы не знакомы с математикой, то просто поверьте что именно так - КРАСИВЕЙ ВСЕГО.

      Удалить
    4. Я в принципе знакома с математикой, но до такой красивой не дотянула. Верю Вам.

      Удалить
    5. Переправьте там 64 на 32 конечно - очепятался.

      Удалить
    6. Одним вопросом меньше. Про 64 я уже боялась спрашивать.

      Удалить
  3. Ну это если справа налево, а если слева направо, то третий.

    ОтветитьУдалить
    Ответы
    1. Биты в байте считают "справа налево"

      Удалить
    2. В каком порядке считают биты в байте, это одно, а в каком порядке записывается целое число - другое. Бывает, что первый LSB, бывает - MSB. Если парень программист не под Intel, а под ARM или AVR - мог бы и третью зажечь.

      Удалить
    3. 2Vasiliy Shapovalov
      Ну я потому и написал в кавычках. В данном контексте бит таки шестой.

      Удалить
    4. 2Eugene а какое отношение возраст юбиляра имеет к 00100000?

      Удалить
    5. 00100000 в двоичной системе счисления равно 32 в десятичной.

      Удалить
    6. Уффф. Пошли знакомые слова. Спасибо за терпение:)

      Удалить
    7. 2Vasily: LSB/MSB относится к порядку адресации байтов (а не битов) в памяти и не имеет отношения к теме. Двоичные числа на бумажке записываются точно так же, как и десятичные - старшие разряды слева, младшие справа, ведущие нули опускаем. Математика одинакова для любой системы счисления.

      Удалить
    8. > LSB/MSB относится к порядку адресации байтов (а не битов) в памяти и не имеет отношения к теме.
      LSB может значить Least Significant Bit, а может Least Significant Byte. Вот второе не имеет отношения, а первое имеет - в частности, для AVR нередко бывает нужен bit reversal для данных, которые пришли снаружи. Математика одинаковая, а способы записи разные.

      Удалить
  4. Во как мужик всех озадачил! Я же говорю - красиво.

    ОтветитьУдалить
  5. Этот комментарий был удален автором.

    ОтветитьУдалить
    Ответы
    1. Этот комментарий был удален автором.

      Удалить

Здесь иногда пропадают комменты - это баг.