Сохранен 38
https://2ch.hk/pr/res/1015392.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Бинарные операции

 Аноним 03/07/17 Пнд 09:54:02 #1 №1015392 
image.png
Сап, программач. Такой вопрос: в каких случаях могут понадобиться бинарные операции?
Аноним 03/07/17 Пнд 09:54:55 #2 №1015393 
бамп
Аноним 03/07/17 Пнд 09:55:16 #3 №1015394 
>>1015392 (OP)
бамп
Аноним 03/07/17 Пнд 09:59:35 #4 №1015396 
в байтоебле

Капитан Очевидность
Аноним 03/07/17 Пнд 10:02:11 #5 №1015399 
>>1015396
так а нах нужна байтоебля в 2017?
Аноним 03/07/17 Пнд 10:03:49 #6 №1015400 
>>1015399
потому-что в микроволновку пока не получается запихнуть целую core i7 с обвязкой
Аноним 03/07/17 Пнд 10:05:14 #7 №1015401 
>>1015400
Я аутист, объясните плес(
Аноним 03/07/17 Пнд 10:09:06 #8 №1015402 
Бамп
Аноним 03/07/17 Пнд 10:09:32 #9 №1015403 
Бамп
Аноним 03/07/17 Пнд 10:11:09 #10 №1015407 
>>1015401
есть такие микросхемы под названием "микроконтроллер". Внутри это маленький процессор с памятью, регистрами, стеком и т.д.
Так вот, внутри несколько десятков килобайт и работа на нескольких мегагерцах, приходиться экономить байты и такты. Внутри всё тоже управляется через байты, ты вручную ставишь определенные байты в определенном регистре, чтобы получить нужное действие
Аноним 03/07/17 Пнд 10:12:30 #11 №1015408 
>>1015407
Я так понимаю это заменяет условные конструкции?
Аноним 03/07/17 Пнд 10:24:55 #12 №1015415 
>>1015408
нет.
Например тебе нужно модифицировать один бит в байте, не трогая остальные биты. Это делается при помощи бинарной операции
byte b = 0b0100101;
b = b & 0b001;
этим ты модицицировал третий бит, не трогая остальные
b теперь будет 0b0110101
Аноним 03/07/17 Пнд 10:38:24 #13 №1015425 
>>1015415
Окей, я понял, спасибо
Аноним 03/07/17 Пнд 10:40:21 #14 №1015426 
>>1015407
>>1015399
Слегка бесит, что байтоеблю ограничивают миром микроконтроллеров. Понятно, что программирование под микроконтроллеры полностью состоит из байтоебли, но мне мой ассемблерный опыт не раз помогал при написании всякого высоконагруженного серверного говна. Хоть это и не крудошлепские бэкенды, но и далеко не микроконтроллеры тоже. Ну и если увлекаетесь олимпиадками, то без этого тоже тяжело будет.
Аноним 03/07/17 Пнд 11:02:41 #15 №1015447 
>>1015426
>мой ассемблерный опыт не раз помогал при написании всякого высоконагруженного серверного говна
это твои иллюзии
Аноним 03/07/17 Пнд 11:32:42 #16 №1015464 
Не приходилось явно использовать, пускай компилятор сам подставляет. Можно разве что хранить по 64 булевых значения в одном слове чтобы память экономить, но вроде vector<bool> так и работает.
Аноним 03/07/17 Пнд 11:34:31 #17 №1015465 
Маску на IP-адреса чтобы накладывать, крипто писать.
Аноним 03/07/17 Пнд 11:46:22 #18 №1015471 
>>1015447
Я не говорю, что писал на ассемблере, хотя и это нужно было для наколеночного JIT в одном из проектов. Но сколько раз выносил узкие места в сишные либы — не сосчитать просто. Впрочем, ребятам вроде тебя всегда виднее.
Аноним 03/07/17 Пнд 11:48:34 #19 №1015473 
Можно вроде бы результаты тестов хранить.
Аноним 03/07/17 Пнд 12:31:44 #20 №1015495 
>>1015392 (OP)
>в каких случаях могут понадобиться бинарные операции?
Во всех.
Аноним 03/07/17 Пнд 16:21:31 #21 №1015649 
Captured1.png
>>1015392 (OP)
В графических оболочках флажки переключать.
Аноним 03/07/17 Пнд 16:48:54 #22 №1015680 
1. xor используется для примитивного шифрования
2. для экономии памяти - 8 флагов типа boolean запихиваются в 1 байт
3. fast inverse square root

Больше на ум не приходит. В основном для экономии памяти конечно.
Аноним 03/07/17 Пнд 17:08:24 #23 №1015690 
>>1015392 (OP)
На собеседовании
Аноним 03/07/17 Пнд 17:13:59 #24 №1015692 
Эм. Ну это как шнурки завязывать уметь - основы для любого байтослесаря.
Аноним 03/07/17 Пнд 17:19:10 #25 №1015696 
>>1015415
бля, ступил. Тут надо побитовое ИЛИ |
Аноним 03/07/17 Пнд 19:29:59 #26 №1015775 
В системном программировании. В ведроиде для всяких флажков.
Аноним 04/07/17 Втр 12:28:11 #27 №1016110 
Удваиваю криптографа выше по треду. А еще хотел бы сказать про сеть. MTU-то всего 1500 байт в стреднем и пинг 60-80мс намекает, что пакеты лучше слать пореже и понапаполненнее. Так что всякое архивирование еще.
Аноним 04/07/17 Втр 12:56:55 #28 №1016124 
>>1015392 (OP)
>в каких случаях могут понадобиться бинарные операции
При создании эффективных конпеляторов из ЯП высокого уровня.
Аноним 04/07/17 Втр 13:37:51 #29 №1016141 
>>1016124
А это как? Использовать используется, но в каких конкретно случаях, оптимизациях?
Аноним 04/07/17 Втр 16:42:07 #30 №1016256 
>>1016141
Битовые флажки в процессорах ARM, например.
Аноним 04/07/17 Втр 17:32:06 #31 №1016285 
>>1016141
Одна только генерация опкодов из этого целиком состоит
Аноним 05/07/17 Срд 08:21:32 #32 №1016719 
>>1015392 (OP)
>Сап, программач. Такой вопрос: в каких случаях могут понадобиться бинарные операции?
Думал вначале ответить.
Но после
>>1015690
>На собеседовании
Передумал.
Иди нахуй просто.
Аноним 05/07/17 Срд 20:31:05 #33 №1017090 
>>1016141
Встретил конпелятор x *= 2 и трансформировал в x << 1, например.
Аноним 07/07/17 Птн 18:42:55 #34 №1018149 
>>1016719
Удивительно, опять меня послали нахуй без видимых на то причин.
Аноним 07/07/17 Птн 19:31:25 #35 №1018190 
>>1015392 (OP)
если тебе охота будет самому процессор спроектировать понадобится, то бинарные операции нужны ой ой ой как
Аноним 07/07/17 Птн 20:54:07 #36 №1018236 
>>1015392 (OP)
Где угодно на протокольном уровне.
К примеру в разновидностях протоколов с байт стаффингом.
Аноним 07/07/17 Птн 21:38:34 #37 №1018262 
IMG20170708003653.jpg
IMG20170708003706.jpg
>>1015392 (OP)
Вот что пишет Шилдт.
Аноним 09/07/17 Вск 10:22:30 #38 №1019119 
>>1015392 (OP)
Битовые флаги, пакование нескольких значений в одно поле, шифрование всякое
comments powered by Disqus