здесь очень механический метод без отвлекающих теорий:
- Преобразовать число в двоичное представление (использовать калькулятор в порядке?)
- Копировать только самые правые 8 бит (LSB) и отбросить остальные.
- Из результата шага №2, если крайний левый бит равен 0, используйте калькулятор для преобразования числа в десятичное. Это ваш ответ.
- Else (если крайний левый бит равен 1), ваш ответ отрицательный. Оставьте все самые правые нули и первый ненулевой бит без изменений. И отменили остальные, т. Е. Заменили 1 на 0 и 0 на 1. Затем используйте калькулятор для преобразования в десятичную и добавьте отрицательный знак, чтобы указать отрицательное значение.
Этот более практичный метод соответствует многим теоретическим ответам выше. Итак, те, кто все еще читают эти Java-книги, говорящие, что используют modulo, это определенно неправильно, поскольку 4 шага, которые я изложил выше, определенно не являются модульной операцией.
задан Yrlec 8 February 2012 в 10:13
поделиться