Случайные вопросы C/Objective-C

90
8

Я столкнулся с несколькими строками кодирования, которые я не понимаю, и был бы благодарен за разъяснение:


    if(!(counter&7))
    ds->direction = ts->direction;

спросил(а) 2010-10-04T18:39:00+04:00 10 лет назад
1
Решение
81

    если counter является кратным 8


    установите элемент direction из *ds, равный элементу direction *ts


ответил(а) 2010-10-04T18:42:00+04:00 10 лет назад
70

Первая проверяет, является ли результат побитового-И на счетчике с 7 не равным нулю, а последний присваивает значение члена direction одной структуры члену direction другого.

ответил(а) 2010-10-04T18:41:00+04:00 10 лет назад
57

1) так же, как


    if (!(counter & 7))
    if ((!(counter & 7)) != 0)
    if ((counter & 7) == 0)
    если нижние 3 бита счетчика равны нулю (или если счетчик кратен 8)

2) так же, как


    (*ds).direction = (*ts).direction;
    задать направление ds (должно быть типа структуры) в направлении ts

ответил(а) 2010-10-04T18:44:00+04:00 10 лет назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема