Я пытаюсь понять каждую строку следующего кода, но мои знания мешают мне
быть успешным.
На самом деле это фрагмент кода, взятый из Java-учебника, касающегося построения аудиосигнала (сигнала)
В двух словах, код делает в основном:
если размер выборки аудиоданных равен 16 и тип кодирования BigEndian, сделайте это ...
Ну, проблема в том, что я хотел бы уметь понимать значение каждого отдельного оператора кода.
Может кто-нибудь мне помочь ?
Спасибо заранее...
Оригинальный код здесь:
http://www.koders.com/java/fid3508156A13C80A263E7CE65C4C9D6F5D8651AF5D.aspx?s=%22David+Anderson%22
(класс SamplingGraph)
Код, который я хотел бы понять, следующий:
if (format.getSampleSizeInBits() == 16) {
int nlengthInSamples = audioBytes.size() / 2;
audioData = new int[nlengthInSamples];
if (format.isBigEndian()) {
for (int i = 0; i < nlengthInSamples; i++) {
/* First byte is MSB (high order) */
int MSB = (int) audioBytes.get(2 * i);
/* Second byte is LSB (low order) */
int LSB = (int) audioBytes.get(2 * i + 1);
audioData[i] = MSB << 8 | (255 & LSB);
}
Особенно, как бы вы перевели словами следующий код:
audioData[i] = MSB << 8 | (255 & LSB);
... еще раз спасибо
Мат