Comments: |
From: | (Anonymous) |
Date: | June 13th, 2018 - 08:22 am |
---|
| | | (Link) |
|
пиздец
ждем комментариев специалистов
| From: | ketmar |
Date: | June 13th, 2018 - 08:27 am |
---|
| | | (Link) |
|
на самом деле всё ещё смешнее: поскольку «невалидного» кода овердохуя, то gcc распознаёт паттерн «конверсия endianness путём сдвигов», и преобразует в машинную инструкцию, заодно ослабляя правила. иногда.
а иногда не распознаёт. и не ослабляет.
удачной прогулки по минному полю без карты.
From: | (Anonymous) |
Date: | June 13th, 2018 - 01:23 pm |
---|
| | Привет | (Link) |
|
Кетмарь, как стать таким же пиздатым как ты? Сколько лет ты потратил на программирование? Как не быть ебаным хипстером-фронтэндом, и реально шарить в низкоуровневых языках, линуксах и при этом быть действительно компитентным во всем этом вот? Захожу в тифарет только чтобы тебя поскролить, вдохновения подчерпнуть, так сказать. Спасибо тебе за посты. Денег не дам, сорян.
From: | (Anonymous) |
Date: | June 13th, 2018 - 03:50 pm |
---|
| | Re: Привет | (Link) |
|
> программирование > байтоебство с битовыми сдвигами
| From: | ketmar |
Date: | June 13th, 2018 - 04:33 pm |
---|
| | Re: Привет | (Link) |
|
позанимайся тридцать лет какой-нибудь хуйнёй — и тоже таким станешь. по дороге очень желательно болеть NIH-синдромом, и стараться переписать самому с нуля всё, до чего руки дотягиваются.
From: | (Anonymous) |
Date: | June 13th, 2018 - 09:27 am |
---|
| | | (Link) |
|
Двачую, байтоёбы рабы во всём - рабы машины. рабы предубеждений, рабы производительности, рабы стереотипов, рабы обрабатываемых штеудом х86 типов данных - для них всё, что не кратно 2 байтам и больше 16 байт не может быть примитивным типом, хотя число - это просто число, оно может быть целым, дробным, рациональным, комплексным, но не "в 2 байта в 4 байта в 8 байт". Да, байтобляди были актуальны пару-тройку десятков лет назад, когда кроме этого пресловутого отлизывания регистров и микросхем не было способов заставить машину быстро решать задачу. Но теперь-то в нашем распоряжении оптимизирующие компиляторы, многоядерные процессоры с параллелизацией, которые производительнее машин 20летней давности в сотни тысяч раз. Жаль, что программирование было поглощено стереотипным быдлом, не могущим в думать, и способным работать лишь по зазубренной инструкции, написанной кровью и потом сотен павших хомячков-байтоёбов до него. Настоящее, полноценное программирование, благодаря подобным обмудкам, мало теперь где востребовано. Хотя там где оно востребовано, можно кататься как в масле сыр и получать в три раза больше не то что сениор-байтоёба, а ёбанного заместителя директора быдлоконторы в которой этот байтоёб работает. С другой стороны это и хорошо - в космическую промышленность, Data mining и прочие сложные и непосильные для императивных байтохомячков сферы попадает лишь элита.
From: | (Anonymous) |
Date: | June 13th, 2018 - 10:38 am |
---|
| | | (Link) |
|
числа это степени двойки, дебил!
| From: | ketmar |
Date: | June 13th, 2018 - 04:34 pm |
---|
| | | (Link) |
|
выше вы могли прочитать плач говнокодера, который зачем-то потратил несколько лет жизни на хацкель-хуяцкель, а голубой вертолёт не прилетел.
poka on ne skazal rpo "data mining" ja pochti gotov byl razsmotretj jeo argumenty
ja dumaju tam xackelja v golove ne bylo
From: | (Anonymous) |
Date: | June 14th, 2018 - 08:28 pm |
---|
| | | (Link) |
|
Скорее -- вялый закос под vsl.
From: | (Anonymous) |
Date: | June 13th, 2018 - 09:58 am |
---|
| | | (Link) |
|
надо расовые жидовские конпеляторы использовать потому что
| | | ну какбе еще одна причина переходить на раст | (Link) |
|
| From: | zim_a |
Date: | June 13th, 2018 - 11:16 am |
---|
| | Re: ну какбе еще одна причина переходить на раст | (Link) |
|
очередной байт-код хуй стеклянный ещё никто не предлагал?
| From: | ketmar |
Date: | June 13th, 2018 - 04:39 pm |
---|
| | Re: ну какбе еще одна причина переходить на раст | (Link) |
|
спасибо, нахуй. хруст асболютно уёбищное говно, пригодное только для того, чтобы получать от мозилы зарплату, пиля эту бесполезную срань.
хинт: «делаем программирование усложнённым путём заставления программиста вручную расписывать время жизни сущностей» не имеет никакого отношения ни к удобству создания кода, ни к «безопасному» коду (что бы это ни значило). зато имеет прямое отношение к тому, чтобы заебать человека тем, что машина может сделать сама.
также руст «дизайнили» уёбки, которые не имеют ни малейшего понятия о language design. вообще. любой, собственно, язык, который слепо копирует синтаксис шаблонов/генериков из крестов, попадает в эту категорию — и уже только поэтому не стоит дальнейших усилий.
p.s. в дишечке все типы изначально имеют определённую битность и представление (sans endianness), целочисленные переполнения определены.
From: | (Anonymous) |
Date: | June 13th, 2018 - 11:24 am |
---|
| | | (Link) |
|
кетмарь, разница между uint и int существует только на уровне интерпретации. ты же должен это знать. для железа никакой разницы нет. и никогда не бывает UB, блядь, что же ты такой тупой то? одно и тоже значение будет трактоваться или как негативное, или как uint, исключительно блядь по твоему желанию.
| From: | ketmar |
Date: | June 13th, 2018 - 04:31 pm |
---|
| | | (Link) |
|
я думал, ты только моё имя прочесть не можешь — а у тебя, оказывается, всё намного хуже: ты реально олигофрен.
From: | (Anonymous) |
Date: | June 13th, 2018 - 11:16 pm |
---|
| | | (Link) |
|
В продуктах Microsoft таких проблем не возникает.
| From: | ketmar |
Date: | June 13th, 2018 - 11:24 pm |
---|
| | | (Link) |
|
продукты микрософт все просроченые, от них понос.
From: | (Anonymous) |
Date: | June 14th, 2018 - 01:03 am |
---|
| | | (Link) |
|
Нет, это ты сожрал наверное не то. Больше не накормим!
From: | (Anonymous) |
Date: | June 14th, 2018 - 01:04 am |
---|
| | | (Link) |
|
Кетмар, ты кодер, голосуй - https://eosauthority.com/voting Ускорим запуск.
| From: | ketmar |
Date: | June 14th, 2018 - 01:10 am |
---|
| | | (Link) |
|
ебанина какая-то. продать мне её за тридцать секунд они не смогли — поэтому оно нинужна.
From: | (Anonymous) |
Date: | June 14th, 2018 - 02:04 am |
---|
| | | (Link) |
|
Ты что не спишь, Киев... ночь.
From: | (Anonymous) |
Date: | June 14th, 2018 - 02:09 am |
---|
| | | (Link) |
|
Ну ок, покопайся в кошеле - https://github.com/eosrio/simpleos Найдешь закладки подбросят на харчи. В люди выйдешь.
| From: | ketmar |
Date: | June 14th, 2018 - 03:18 am |
---|
| | | (Link) |
|
я неинтересной мне хуйнёй могу согласиться заниматься только по стопроцентной предоплате, и без обязательства вернуть деньги если результат заказчику не понравится. при наличи кода на js цена автоматически умножается на десять. у них не хватит денег.
From: | (Anonymous) |
Date: | June 14th, 2018 - 06:47 am |
---|
| | | (Link) |
|
просто не можешь. а накрутил с три короба, пиздунишка.
| From: | ketmar |
Date: | June 14th, 2018 - 07:13 am |
---|
| | | (Link) |
|
ok.
From: | (Anonymous) |
Date: | June 14th, 2018 - 09:29 am |
---|
| | | (Link) |
|
Странно утверждать "не хватит денег" у кого бюджет почти не ограничен.
| From: | ketmar |
Date: | June 14th, 2018 - 02:27 pm |
---|
| | | (Link) |
|
если бы было так — они бы не побирались с народа, а давно бы наняли и программеров, и спецов по аудиту. FOSS пишут или идейные коммунисты, или нищеброды.
From: | (Anonymous) |
Date: | June 14th, 2018 - 05:46 am |
---|
| | | (Link) |
|
гугл ебет въеб-дывелоперов в жопу большим черным хуем скачать без смс https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
| From: | ketmar |
Date: | June 14th, 2018 - 05:48 am |
---|
| | | (Link) |
|
nobody cares here.
А чо так сложно? Я обычно через char[] делаю. Ну, или ещё проще, bswap.
| From: | ketmar |
Date: | June 15th, 2018 - 07:39 pm |
---|
| | | (Link) |
|
потому что портабельно и без UB иначе не делается.
Ну, используй uint8_t вместо char. И будет портабельно. Не пойму, в чём проблема.
| From: | ketmar |
Date: | June 15th, 2018 - 08:20 pm |
---|
| | | (Link) |
|
есть мнение, что для понимания можно попробовать пост почитать. там все многабукав как раз об этом.
Прочёл ещё раз. Может быть, я чего-то не понимаю. К примеру, что такое, UB я нагуглил, а VRP уже хз.
Но моего мнения это не меняет. Давай я напишу, как я бы налабал, а ты покажи, что непортабельно в сниппете?
| From: | ketmar |
Date: | June 15th, 2018 - 08:35 pm |
---|
| | | (Link) |
|
VRP == value range propagation. что неважно, тащемта, потому что из контекста вполне понятно, о чём там речь.
а ещё там речь о том, что никакого другого метода сделать описаное, оставаясь в рамках стандарта си, тупо нет.
Ну, давай конкретней:
#include
using namespace std;
int32_t r4 (int32_t x) {
const int n = 4;
uint8_t* p = (uint8_t*) &x;
uint8_t r[n];
for (int i = n; i > 0; r[--i] = *(p++));
return *((int32_t*) r);
}
int main()
{
int32_t x = -13;
cout << x << " --> " << r4(x) << " --> " << r4(r4(x));
cout << "\n=0x... " << std::hex << (uint32_t) x << " --> " << (uint32_t) r4(x);
return 0;
}
| From: | ketmar |
Date: | June 15th, 2018 - 09:08 pm |
---|
| | | (Link) |
|
(вздыхает) какое из слов «…представление целых со знаком там не определено для отрицательных значений» вызывает затруднение с поиманием? поэтому весь твой код — полнейшая непортабельная хуета.
Код, конечно, для ценителей Кернигана и Ричи, см. как копировать строки.
Ну да похуй. Давай конкретней, не понимаю твоей этой сентенции «…представление целых со знаком там не определено для отрицательных значений». Пруфлинк на номер секции в стандарте си, пожалуйста.
| From: | ketmar |
Date: | June 15th, 2018 - 09:21 pm |
---|
| | | (Link) |
|
извини, найдёшь сам, мне неинтересно. у нас тут беседа с позиции тех, кто читал стандарт и знает, почему там не определено переполнение интов, почему там не определено вдвижение в знаковый бит, и всё вот это. а если ты с этим не согласен — то и неси цитату из стандарта, где определяется формат представления знаковых целых.
Ну, это по-еврейски, конечно, вопросом на вопрос. Я конечно, не читал стандарт, и не собираюсь, мне лень.
Но зайдём с другого конца. Ты вообще, что попросил? Сконвертировать BE в LE. Ты понимаешь, что это всего лишь побайтный реверс и похуй, какое представление используется на конкретной платформе? Комплемент-1, комплемент-2, signed magnitude, похуй. Мой код сконвертит всё, твоя же поебень обосрётся, например на signed magnitude.
Теперь покажи мне, и ещё раз прошу - конкретно, что в моём коде непортабельно.
| From: | ketmar |
Date: | June 15th, 2018 - 09:37 pm |
---|
| | | (Link) |
|
>конкретно, что в моём коде непортабельно каст интового поинтера в uint8. всё, с этого места у тебя не код, а тыква. стандарт говорит, что единственный портабельный каст — это в `char`/`unsigned char`. который — по тому же самому стандарту — не обязан быть восьмибитовым.
то, что «все это делают» — совершенно не значит, что их код валиден по стандарту.
| From: | ketmar |
Date: | June 15th, 2018 - 09:40 pm |
---|
| | | (Link) |
|
p.s.: мой код тоже, кстати, с этой позиции непортабелен. но я честно заебался писать так, чтобы не нарушить ебаный стандарт — там всё будет ещё намного хуже.
Читал статью в инете: один чел целый год следовал побуквенно библии. Начиная от не брить пейсы, или чего там, и кончая "не варить козлёнка в молоке его матери"... А, ну вот, нашлось: https://en.wikipedia.org/wiki/The_Year_of_Living_Biblically -- и это всеми воспринималось как курьёз. У тебя это скорее из спортивного интереса, я так понимаю. Следовать стандарту си, это конечно, круто, и даже весело. Но и опасно: если ему действительно следовать, а не "писать как все", то оно работать не будет. Я вот решил "не читал стандарта, и не буду" после этого: http://lj.rossia.org/users/superhuman/231901.html
| From: | ketmar |
Date: | June 15th, 2018 - 10:10 pm |
---|
| | | (Link) |
|
оно всё было бы так, но есть, сука, один нюанс. очень важный. ебаный gcc (и ебаный шланг тоже) оптимизирует код в предположении, что он написан в точном соответствии со стандартом, и НЕ СОДЕРЖИТ UB. поэтому он, например, может повыкидывать всякие проверки, которые вполне работают с точки зрения логики и CPU, но бессмысленны с точки зрения стандарта.
Ну, и ладно, так даже веселей. У меня вот спорт наоборот был, когда генту разводил: сидел на тестовой ветке и всё, что мог, компилил с -О3 (а компилил я и гном, и кеды, и опенофис). Потом, правда, всё так сломалось, что не смог починить
| From: | ketmar |
Date: | June 15th, 2018 - 09:09 pm |
---|
| | | (Link) |
|
p.s.: это если не учитывать, что он вообще весь хуета, потому что у нас тут разговор о сишечке, а это не сишечка.
Очень даже сишечка, протри глаза. Функция - чистый си, остальное вывод на экран для отладки.
Не хотел тебе грубить, но раз ты начал, то хуета - это твой код вверху постинга. Применим он только для n = 4, и тут аноним пробегал, он конечно нахамил, но я с ним согласен (пока что) насчёт реинтерпретов.
| From: | ketmar |
Date: | June 15th, 2018 - 09:18 pm |
---|
| | | (Link) |
|
1. это НЕ СИШЕЧКА. любой, кто считает, что кресты и сишечка один и тот же язык — идиот. 2. условие задачи написано в посте. его можно увидеть глазами и даже прочитать. у многих получилось.
если пост всё ещё не получается прочитать и понять (а у тебя явно не получается) — то не трать, пожалуйста, моё время на попытки сказать тебе точь-в-точь то же самое, что написано в посте, только в комментариях.
Щас, слово за слово и посрёмся, хехе.
Ты делаешь вид, что дебил, или как софист, пытаешься в споре победить любыми методами?
Я зашёл в инет, нашёл первый попавшийся онлайн-компилятор, и это был с++. В функции r4 я использовал только c-конструкции. Я не использовал reinterpret_cast'ов, например,.. или покажи где там с++ в ней?
| From: | ketmar |
Date: | June 15th, 2018 - 09:39 pm |
---|
| | | (Link) |
|
стандарт си и стандарт крестов — два разных стандарта. отличающиеся — в том числе — и нюансами вроде представления типов. поэтому совершенно похеру, какие ты там конструкции использовал: C и C++ — два совершенно разных языка. C++ не является суперсетом C.
| From: | ketmar |
Date: | June 15th, 2018 - 09:43 pm |
---|
| | | (Link) |
|
p.s.: сорри, у меня сегодня… hard times типа. извини за наезды.
Не страшно, тоже извиняюсь, однако.
Мы просто разговариваем на разных языках. Ты пытаешься следовать (в этом случае, как минимум) _букве_ закона, т.е. стандарта си. Портабельность для тебя - это портабельность в смысле стандарта.
Для меня портабельность, это когда оно работает на x86, x64, arm, plc всяких, скомпилированное пятью обычными компиляторами. И главное, чтобы код переписывать не надо. Также желательно, чтобы и для 4 байтов работало, и для 8, и .. для n, с минимальными изменениями.
| From: | ketmar |
Date: | June 15th, 2018 - 09:58 pm |
---|
| | | (Link) |
|
я, собственно, показываю, что стандарт уёбищен, а его авторы — дегенераты. и что такой стандарт не надо соблюдать, пусть он сдыхает. я, тащемта, и не соблюдаю. в частности и потому, что описаная в посте ебанина — далеко не единственная. благо, gcc всё ещё можно разминировать.
From: | (Anonymous) |
Date: | June 15th, 2018 - 10:02 pm |
---|
| | | (Link) |
|
БЫДЛАН | |