1  aNNiMON (SV!) [Off]
 let live
(10.05.2014 / 12:58)
Virus-ON, ну так это не значит, что нельзя объединить эти две вещи в одно. Оберни это в методы и используй.
  1. private static final byte
  2.     FLAG_1 = 0x1, FLAG_2 = 0x2, FLAG_3 = 0x4, FLAG_4 = 0x8,
  3.     FLAG_5 = 0x10, FLAG_6 = 0x20, FLAG_7 = 0x40, FLAG_8 = (byte) 0x80;
  4.  
  5. private byte currentState;
  6.  
  7. private void setFlag(byte flag) {
  8.     currentState = (byte) (currentState | flag);
  9. }
  10.  
  11. private void resetFlag(byte flag) {
  12.     currentState = (byte) (currentState & ~flag);
  13. }
  14.  
  15. private boolean checkFlag(byte flag) {
  16.     return (currentState & flag) != 0;
  17. }
  18.  
  19. //----
  20. setFlag(FLAG_3);
  21. if (checkFlag(FLAG_6)) setFlag(FLAG_8);
  22. else resetFlag(FLAG_8);
2328  Virus-ON [Off]
(10.05.2014 / 12:43)
То что для оптимизации то правда, но по моему в java коде главное это читаемость и изящность :gg:
2328  Virus-ON [Off]
(10.05.2014 / 12:40)
Не подумал про это. Спасибо. :)
1  aNNiMON (SV!) [Off]
 let live
(10.05.2014 / 12:32)
Virus-ON, загляни в исходники любого формата сжатия, изображений, видео или подобного - увидишь практическое использование. Для оптимизации тоже подойдёт. Вместо 8 булевых переменных можно флаги в один байт закидать и потом проверять их состояние побитово.
2328  Virus-ON [Off]
(10.05.2014 / 12:28)
Вопрос, а в яве это зачем? Практическое использование.
1328  Magatino (Adm) [Off]
(10.05.2014 / 09:46)
Ксакеп,
Пжлст, без истерики.Мне легче тут читать "Побитовые операции", чем копаться хрен знает где :gg:
1  aNNiMON (SV!) [Off]
 let live
(10.05.2014 / 09:44)
Ксакеп, охладите свой пыл, уважаемый.
3254  Ксакеп (FMod) [Off]
(10.05.2014 / 01:11)
Господи, зачем? оО"
Это все есть в любом учебном пособии по информатике (школота) или дискретке (студентота). В том же Шилдте. Как-то это не солидно.
Всего: 18
<< 1 2
К записи
Java
Категории

Мы в соцсетях

tw tg yt gt