cannot implicitly convert type int to bool

184
31 октября 2021, 13:20
unsigned int gcd(unsigned int u, unsigned int v) {
// simple cases (termination)
if (u == v)
    return u;
if (u == 0)
    return v;
if (v == 0)
    return u;
// look for factors of 2
if (~u & 1) // u is even
    if (v & 1) // v is odd
        return gcd(u >> 1, v);
    else // both u and v are even
        return gcd(u >> 1, v >> 1) << 1;
if (~v & 1) // u is odd, v is even
    return gcd(u, v >> 1);
// reduce larger argument
if (u > v)
    return gcd((u - v) >> 1, v);
return gcd((v - u) >> 1, u);}

Собственно, скопировал код на C из википедии, пишу на C#. Ошибку выдаёт вот в таких моментах if (~u & 1) Не могу понять как исправить ситуацию, прошу помощи.

Answer 1

Результат выражения ~u & 1 - целое. if ожидает булевское значение.

if (~u & 1 != 0) 

и так далее.

READ ALSO
Вывод и заполнение n кол-во progressbar&#39;ов в WPF

Вывод и заполнение n кол-во progressbar'ов в WPF

Есть элемент icTodoList, который нужно заполнить progressbar'ми на каждого человекаМожно ли вообще такое реализовать с помощью цикла и \n? Выше представлены...

92
Сетевой адаптер Hamachi

Сетевой адаптер Hamachi

Всем привет, прошу помощи, проблема странная(все говорят проверять конфигурацию пк/роутер/провайдера, но в то же время она спокойно воспроизвелась...

124
Не заходит в breakpoint WinDBG

Не заходит в breakpoint WinDBG

Есть простенькая программа на C#:

151
EntityFramework Change Tracker и транзакции

EntityFramework Change Tracker и транзакции

Как отражается Rollback() на изменениях, хранящихся в трекере? Выполняется ли для них Detach() или нужно делать это самостоятельно?

146