Re[2]: Что это значит?
От: Юнусов Булат Россия  
Дата: 19.07.02 09:50
Оценка:
Здравствуйте Bill, Вы писали:

B>Данное выражение может быть использовано:

B> 1. для определения значения val как стпень 2-х — (val &= (val-1)) == 0;
B> 2. для подсчета количества единиц байте, слове и т.д. (естественно требуется цикл).
Или не требуется (Ближе к низу страницы)
Re[3]: Что это значит?
От: Bill Россия  
Дата: 19.07.02 10:00
Оценка:
Здесь требуется цикл в случае использовании выражения
val &= (val-1);
Re[4]: Что это значит?
От: Юнусов Булат Россия  
Дата: 19.07.02 10:06
Оценка:
Здравствуйте Bill, Вы писали:
B>Здесь требуется цикл в случае использовании выражения
B> val &= (val-1);

Да
Re: Что это значит?
От: Аноним  
Дата: 20.07.02 03:22
Оценка:
Здравствуйте Аноним, Вы писали:
А>Привет.
А>Попалась в коду такая строчка:
А>
А>int foo(unsigned val)
А>{
А>    val &=(val-1);
А>    // ... остальное пропущенно
А>}
А>

А>Вопрос, что такое unsigned? Я понимаю, что беззнаковый тип, но какой.
А>Если бы unsigned int — то все ясно, а есть просто, то что это?
А>И еще, объясните пожалуйста подробнее что это за выражение:
А>val&=(val-1)
А>И что оно делает при любом (unsigned) val?
А>Спасибо

int в С++ является типом по умолчанию, т.е., если ты пишешь

func(/*some args*/)
{
  //smth
}


то func — усть функция, возвращающая int. Так же и с unsigned, short & long
Re[2]: Что это значит?
От: Андрей Тарасевич Беларусь  
Дата: 20.07.02 04:19
Оценка:
Здравствуйте Аноним, Вы писали:

А>int в С++ является типом по умолчанию, т.е., если ты пишешь


А>
А>func(/*some args*/)
А>{
А>  //smth
А>}
А>


А>то func — усть функция, возвращающая int. Так же и с unsigned, short & long


В C++ нет типов по умолчанию. Функция 'func' в данном случае объявлена некорректно и, с точки зрения С++, вызовет ошибку компиляции. Ситуация с 'unsigned', 'short' и 'long' — это совершенно другая история, никакого отношения к "типам по умолчанию" не имеющая.
Best regards,
Андрей Тарасевич
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.