Я смущен, чтобы сказать, что я обладаю слабыми математическими навыками и являюсь гордым специалистом в области компьютерных наук. Я в классе, и это потрясающе. Это часть моего домашнего задания, однако я не могу продолжать это, пока не пойму этот раздел. Все в моем классе изо всех сил пытаются написать определенный метод для завершения задания. Я отправил по электронной почте своего профессора, попросив разъяснить, как должен быть написан метод.
Он сказал, что я должен хранить 8-битный числитель и 8-битный знаменатель... однако... Я не понимаю, что такое числитель и знаменатель. Может кто-нибудь, пожалуйста, объясните мне это?
Это часть ответа, полученного от моего профессора:
"[Вы] должны кодировать коэффициенты A, B и C в хромосому [хромосома - наш интерфейс, поэтому хромосомный хром - наш объект]. A, B и C - все числа, которые могут быть дробными. хранить 8-битный числитель и 8-разрядный знаменатель. A, B и C также могут быть положительными или отрицательными ".
После этого мы должны отобразить A, B, and C
в двоичную строку, чтобы создать новый объект хромосомы.
Как я это делаю: A, B, and C
будут удваиваться (по крайней мере) с десятичным значением. Но я не могу реализовать это, пока не узнаю, что такое 8-битный числитель и 8-разрядный знаменатель. Пожалуйста помоги!
Спасибо! <3 TG52
Это предположение основано на вашем сообщении, но то, что, как я считаю, ваш профессор просит в этом задании, состоит в том, чтобы представлять числитель и знаменатель ваших фракций с 8-разрядными целыми знаками.
В этом случае достаточно использовать тип данных byte
:
byte: Тип данных байта представляет собой 8-разрядное двухзначное целое число. Он имеет минимальное значение -128 и максимальное значение 127 (включительно). Тип данных байта может быть полезен для экономии памяти в больших массивах, где действительно важна экономия памяти. Они также могут использоваться вместо int, где их ограничения помогают уточнить ваш код; тот факт, что диапазон переменных ограничен, может служить формой документации.
Таким образом, у вас может быть класс под названием "Фракция":
class Fraction{
private byte numerator;
private byte denominator;
public Fraction(byte numerator, byte denominator){
this.numerator = numerator;
this.denominator = denominator;
}
}