Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

В каких случаях может быть нужно вот такое вот смещение?

ФермаКактусов Высший разум (190289), закрыт 2 недели назад
  arrayOfByte1[3 * b + 0] = (byte)(i3 >> 7); 
Лучший ответ
Олеся С@@@@@кова Высший разум (319065) 2 недели назад
Этот код выглядит как операция с байтами в массиве.

arrayOfByte1 – это массив байтов.
3 * b + 0 – это индекс элемента в массиве. Здесь b – это переменная, а 3 * b + 0 вычисляет индекс.
(byte)(i3 >> 7) – это битовая операция. i3 >> 7 сдвигает биты числа i3 на 7 позиций вправо, а (byte) приводит результат к типу byte.

Применение такого кода может быть в различных сценариях, например, при работе с сетевыми протоколами, обработке данных или при создании оптимизированных структур данных.
Остальные ответы
Александр Искусственный Интеллект (293878) 3 недели назад
что означают все эти "магические переменные и числа"?
ФермаКактусовВысший разум (190289) 3 недели назад
  void a(String paramString) { 
try {
Class clazz = getClass();
InputStream inputStream = clazz.getResourceAsStream(paramString);
int j = inputStream.read() + inputStream.read() * 256 + inputStream.read() * 256 * 256 + inputStream.read() * 256 * 256 * 256;// что это делает?
int k = inputStream.read() + inputStream.read() * 256 + inputStream.read() * 256 * 256 + inputStream.read() * 256 * 256 * 256;
ФермаКактусовВысший разум (190289) 3 недели назад
  
int m = inputStream.read() + inputStream.read() * 256 + inputStream.read() * 256 * 256 + inputStream.read() * 256 * 256 * 256;
int n = inputStream.read() + inputStream.read() * 256 + inputStream.read() * 256 * 256 + inputStream.read() * 256 * 256 * 256;
int i1 = inputStream.read() + inputStream.read() * 256 + inputStream.read() * 256 * 256 + inputStream.read() * 256 * 256 * 256;
int i2 = inputStream.read() + inputStream.read() * 256;
inputStream.read();
inputStream.read();
short[] arrayOfShort = new short[3 * i2];
byte[] arrayOfByte2 = new byte[2 * i2];
byte[] arrayOfByte1 = new byte[3 * i2];
byte b;
for (b = 0; b < i2; b++) {


ФермаКактусовВысший разум (190289) 3 недели назад
        int i3 = inputStream.read() + inputStream.read() * 256 + inputStream.read() * 256 * 256 + inputStream.read() * 256 * 256 * 256;   
int i4 = inputStream.read() + inputStream.read() * 256 + inputStream.read() * 256 * 256 + inputStream.read() * 256 * 256 * 256;
int i5 = inputStream.read() + inputStream.read() * 256 + inputStream.read() * 256 * 256 + inputStream.read() * 256 * 256 * 256;
arrayOfShort[3 * b + 0] = (short)(i3 >> 4);
arrayOfShort[3 * b + 1] = (short)(i4 >> 4);
arrayOfShort[3 * b + 2] = (short)(i5 >> 4);
}
for (b = 0; b < i2; b++) {
int i3 = inputStream.read() + inputStream.read() * 256;
ФермаКактусовВысший разум (190289) 3 недели назад
    
int i4 = inputStream.read() + inputStream.read() * 256;
i3 >>= 3;
i4 >>= 3;
if (i3 > 127)
i3 = 127;
if (i4 > 127)
i4 = 127;
arrayOfByte2[2 * b + 0] = (byte)i3;
arrayOfByte2[2 * b + 1] = (byte)i4;
}
ФермаКактусовВысший разум (190289) 3 недели назад
       
if (i1 != 0)
for (b = 0; b < i2; b++) {
int i3 = inputStream.read() + inputStream.read() * 256 + inputStream.read() * 256 * 256 + inputStream.read() * 256 * 256 * 256;
int i4 = inputStream.read() + inputStream.read() * 256 + inputStream.read() * 256 * 256 + inputStream.read() * 256 * 256 * 256;
int i5 = inputStream.read() + inputStream.read() * 256 + inputStream.read() * 256 * 256 + inputStream.read() * 256 * 256 * 256;
ФермаКактусовВысший разум (190289) 3 недели назад
        
arrayOfByte1[3 * b + 0] = (byte)(i3 >> 7);
arrayOfByte1[3 * b + 1] = (byte)(i4 >> 7);
arrayOfByte1[3 * b + 2] = (byte)(i5 >> 7);
}
int i = inputStream.read() + inputStream.read() * 256 + inputStream.read() * 256 * 256 + inputStream.read() * 256 * 256 * 256;
int[] arrayOfInt1 = new int[i];
int[] arrayOfInt2 = new int[i / 3];
for (b = 0; b < i; b++)
arrayOfInt1[b] = inputStream.read() + inputStream.read() * 256;
for (b = 0; b < i / 3; b++)
arrayOfInt2[b] = 3;
this.b = new VertexBuffer();
ФермаКактусовВысший разум (190289) 3 недели назад
        
this.c = new VertexArray(arrayOfShort.length / 3, 3, 2);
this.c.set(0, arrayOfShort.length / 3, arrayOfShort);
this.b.setPositions(this.c, 0.001F, null);
this.d = new VertexArray(arrayOfByte2.length / 2, 2, 1);
this.d.set(0, arrayOfByte2.length / 2, arrayOfByte2);
this.b.setTexCoords(0, this.d, 0.0078125F, null);
this.a = new TriangleStripArray(arrayOfInt1, arrayOfInt2);
ФермаКактусовВысший разум (190289) 3 недели назад
          
this.e = new Appearance();
this.f = new CompositingMode();
this.f.setAlphaWriteEnable(false);
this.f.setBlending(68);
a(true);
this.e.setCompositingMode(this.f);
inputStream.close();
} catch (IOException iOException) {}
}

void a(Texture2D paramTexture2D) {
this.e.setTexture(0, paramTexture2D);
}

void a(boolean paramBoolean) {
this.f.setDepthTestEnable(paramBoolean);
this.f.setDepthWriteEnable(paramBoolean);
}

ФермаКактусовВысший разум (190289) 3 недели назад
  void a(Graphics3D paramGraphics3D, Transform paramTransform) {          
paramGraphics3D.render(this.b, (IndexBuffer)this.a, this.e, paramTransform);
}
}
Похожие вопросы