Как-то раз пришлось реализовывать умножение длинных чисел, через половинки их представления на C++. 128-битные числа были представлены как пара 64-битных. Оказалось что перемножить два 128-битных числа и получить все 256 бит результата по сложности сравнимо с 4-мя произведениями 64-битных половинок. Как же это работает…
Антон Буков @k06a
Software Engineer
Многопользовательский чат на BAT
3 min
22KБыл период, когда в универе задали сделать несколько чатов. В зависимости от вариантов, были заданы различные способы взаимодействия программ от сокетов до майлслотов (mailslot). Когда задания были прикончены, остались силы взяться за скрипты BAT. Вот что получилось…
Всё что нужно для запуска:
1. Взять код по ссылке в конце статьи
2. Сохранить код в файл *.bat
3. Положить файл в сетевую папку
4. Запустить файл с разных компов (можно и с одного)
В комментариях предложили использовать совместно с DropBox, но говорят — что работает весьма не быстро.
Всё что нужно для запуска:
1. Взять код по ссылке в конце статьи
2. Сохранить код в файл *.bat
3. Положить файл в сетевую папку
4. Запустить файл с разных компов (можно и с одного)
В комментариях предложили использовать совместно с DropBox, но говорят — что работает весьма не быстро.
+237
Подсчёт числа установленных битов в файле
1 min
3.1KОдна интересная реализация подсчёта числа установленных битов в файле. Код на языке C++ с обильным использованием STL. Если всё так хорошо, то почему это в блоге «Ненормальное программирование» (читатели настоятельно рекомендовали перенести в блог C++) спросите Вы? Сейчас увидите :)
-1
Little-Endian против Big-Endian
2 min
59KОдно время приходилось постоянно работать с сетевыми данными и в особенности с заголовками сетевого и транспортного уровней модели OSI. Постоянно напрягал тот факт, что многие поля были в Big-Endian, а код выполнялся на архитектуре Little-Endian. Ну невозможно было постоянно вызывать ntohl(), htonl(), ntohs(), htons()...
Автор фото: Ciroduran, источник фото: flickr.
Автор фото: Ciroduran, источник фото: flickr.
+47
Сортировка данных и возвращение им прежнего порядка
2 min
4.9KДовольно часто в спортивном программировании или же просто реализации алгоритмов необходимо отсортировать массив входных данных по определённому критерию. В то время как в ответе требуется исходный порядок. В статье я рассмотрю несколько способов сделать это минимальной кровью на C++. Если интересна эта тематика или имеются интересные предложения, прошу под кат…
Автор изображения: Tobias Rad, лицензия Creative Commons Attribution-Share Alike 3.0 Unported
Автор изображения: Tobias Rad, лицензия Creative Commons Attribution-Share Alike 3.0 Unported
+22
Концепт группировки типов в C++
2 min
2.9KВ статье описан способ группировки типов в языке C++, реализованный через шаблонный класс IGroup. Приём группировки типов даёт возможность указать несколько типов для объекта. Например, можно указать два интерфейса объекта.
Вообще этот приём мог быть языковой конструкцией, но таковой конструкциини в одном ЯП не встречал (в комментариях мне уже разъяснили что почём и про Generics и про Boost и даже про STL, спасибо за обсуждение). Потому было интересно попытаться реализовать его на C++.
Вообще этот приём мог быть языковой конструкцией, но таковой конструкции
+19
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity