Я хочу, чтобы получил знак номера без логического заявления. Уже имеется предопределенный метод Math.Sign()
. Но мне нужно реализовать в моем собственном стиле.Получить знак номера без логического утверждения в C#
испытанный C# Код:
public int GetSign(int value)
{
int bitFlag = 1;
var m = Convert.ToString(value, 2);
int length = m.Length;
if (m[length - 1] == '1')
{
bitFlag = -1;
}
return bitFlag;
}
Состояние:
- Если последний бит
1
затем возвращают-1
- Если последний бит
0
затем возвращают1
SIST меня, как удалить выше IF
заявление ...
Как «условие» коррелирует со знаком чисел и 'Math.Sign()'? Вы проверяете, является ли число нечетным или четным, а не его знаком. – zerkms
_ «Мне нужно реализовать в моем собственном стиле» _ - почему? Какую специфическую проблему вы пытаетесь решить здесь? Что случилось с 'Math.Sign()'? Существуют ли какие-либо ограничения на вашей желаемой альтернативной реализации? Почему ваша версия настолько запутана? Что не так с возвратным значением <0? -1: (значение> 0? 1: 0); '(то есть почему _" без логического утверждения "_)? –