Форум программистов, компьютерный форум CyberForum.ru

Удалить из каждого байта строки первый (старший) бит. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ взлом паролей http://www.cyberforum.ru/cpp-beginners/thread376937.html
есть ли какие нибудь простые алгоритмы для взлома паролей к rаr архиву? Желательно чтоб были по с++
C++ Стрельба в координаты мыши Как оказалось, отсутствие математических основ в голове, это очень большая проблема, ибо застрял на простой задаче. Собственно, производится выстрел из корабля, снаряд должен лететь по направлению к мышке. Известны координаты начала полёта снаряда и координаты мышки, есть вектор, далее мысли заканчиваются... Гугл на эту тему, ничего путнего не предложил. Прикладываю картинку, чтобы было... http://www.cyberforum.ru/cpp-beginners/thread376912.html
Файловый поток вместо одного слова считывает два, почему? C++
Друзья! Вот код #include <stdio.h> #include <iostream> #include <fstream> using namespace std; int main () { ifstream ifs ("z.txt"); string temp;
C++ помогите переделать программу (по проще)
программа которое определяет максимальное число из введенной последовательности и положительных чисел (длина и последовательность не ограничен) программа должна проверять правильность исходных данных. как можно по другому или проще написать? include "stdafx.h" int _tmain(int argc, _TCHAR* argv)
C++ Метод Гаусса (блок-схема) http://www.cyberforum.ru/cpp-beginners/thread376897.html
Нужна помощь в вербальном описании блок-схемы,помогите,пожалуйста
C++ нужно написать прогу(исходника нет..) Долго сидел думал но так и не додумался как написать... первые месяцы только изучаю си и с++ вот собственно сама задача.. Написать программу вычисляющую сумму покупки К тетрадей и Н РУЧЕК С ПОМОЩЬЮ inline функции Написать программу вычисляющую частичную сумму ряда ∑_(n=1)^∞▒ln⁡〖n/√n〗 Расчет должен производиться двумя способами с помощью рекуррентной функции и функции, содержащий... подробнее

Показать сообщение отдельно
ssementsov
 Аватар для ssementsov
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 89
03.11.2011, 20:51  [ТС]     Удалить из каждого байта строки первый (старший) бит.
Цитата Сообщение от fasked Посмотреть сообщение
Ну вообще, если попадется байт 0x80 (1000 0000b) и из него удалить старший байт, то строка будет выведена в файл не полностью. Все таки нуль-терминированный символ получится.
Для работы с байтовыми массивами лучше всегда использовать функции неформатного ввода/вывода (read/write).

Я все таки считаю, что это именно байтовый массив, а не строка. Битовые махинации для строк не должны использоваться в силу идеологии
Вы абсолютно правы. Суть как раз не в том, что там строка, а в том, что именно байтовый массив. Предмет по которому пишу лабораторную: Теория информации и Кодирования. Это 0-я лабораторная, как я понимаю для обучения работы с битами. Дальше идут лабораторные с кодирование/декодированием и шифрование/дешифрование.

Александр, вот пояснение к задаче..

Суть в том, что когда идут байты:
10001101|01100110|01011001

Биты выделенные красным надо удалить. Не занулить, а именно удалить, т.е. произойдёт сдвиг всех битов влево. В полученном результате синим цветом отметил те биты, которые были перенесены из одного байта в другой. Ну, а фиолетовым выделил те нули, которые надо дописать в конец байта последнего. Если в результате таких вот удалений мы получим просто пустой байт: 00000000, то его и выводить не надо.

00011011|10011010|11001000

Теперь по-моему полностью изложил суть проблемы..

Добавлено через 1 час 6 минут
Делая сдвиг влево, я могу добиться лишь того, что в каждом байте я затру старший бит, остальные биты сдвину, а в нулевой бит запишу "0".

До:
10010101|11101101|11110000
После:
00101010|11011010|11100000

Но дальше не получается сделать необходимое.. Чтобы в биты не "0" писать, а сдвигать биты из следующих байтов..

Добавлено через 1 час 28 минут
Ни у кого нету идей как это реализовать? Сам бы алгоритм понять..
 
Текущее время: 14:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru