|
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
|
|
Запись в фаил11.04.2010, 14:15. Показов 1371. Ответов 18
Метки нет (Все метки)
Здравствуйте, возник вопрос,возможно он покажется немного странным , но всё же хД
Суть такая: нужно было придумать некий простенький алгоритм шифрования строк char, чтобы результат записывался в фаил. Собственно я его придумал, провёл кое-какие расчёты. 12 Символьная строка шифруеться в 144 ' бита '(ну т.е. бита всмысле 144 символа 0 или 1 ) Так вот.если эти 144 записывать в фаил , то получиться ,что размер строки увеличиться в 12 раз, потому-что эти 'биты' запишуться всё равно как символы - слишком большой коэффициент увеличения =( В то же время, если подсчитать 12 символов = 12*8 бит 144 бита = 144/8 символов = 18 символов. То биш по идее увеличение строки всего в 1.5 раза - это уже приемимый результат. Вот собственно вопрос. Можно ли записать фаил таким образом , чтобы 'биты' записывались не как символы(которые весят 8 бит) а сами как биты ? Ну если я всё правильно понимаю,если нет - поправте.
0
|
|
| 11.04.2010, 14:15 | |
|
Ответы с готовыми решениями:
18
Запись в фаил Запись в фаил бОльшего числа цифр запись в фаил |
|
60 / 22 / 2
Регистрация: 13.03.2010
Сообщений: 65
|
|
| 11.04.2010, 15:43 | |
|
Можно конечно, но блоками по байту. Записывай в файл байт, который формируй из восьми бит.
Добавлено через 45 секунд Помогут такие операторы, как сдвиг (>>), битовое "и" (&).
1
|
|
|
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
|
|
| 11.04.2010, 22:39 [ТС] | |
|
Спасибо )
А по подробней можно ? какими функциями пользоваться (запись\чтение) ?
0
|
|
|
60 / 22 / 2
Регистрация: 13.03.2010
Сообщений: 65
|
|
| 11.04.2010, 23:59 | |
|
Запись: fwrite;
Чтение: fread.
1
|
|
|
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
|
|||||||||||||||||||||
| 12.04.2010, 21:33 [ТС] | |||||||||||||||||||||
|
так, вроде бы разобрался.
Теперь возникли дальше вопросы. допустим у меня есть некая переменная
Как инт?(чтобы легко делать побитовое и\или) или как-то по- другому? ведь у меня получиться сделать потом
ЗЫ я этим действием хочу сделать что-то типа
0
|
|||||||||||||||||||||
|
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
|
||||||||||||
| 12.04.2010, 22:21 | ||||||||||||
1
|
||||||||||||
|
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
|
||||||||||||
| 12.04.2010, 23:57 [ТС] | ||||||||||||
|
Спасибо большое.
А насчёт эквивалентности записей Это одно и тоже
судя из моих экспериментов - да) Добавлено через 1 час 18 минут
0
|
||||||||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||||
| 13.04.2010, 00:02 | ||||||||
0
|
||||||||
|
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
|
|
| 13.04.2010, 00:07 | |
|
есть так же такой способ:
WriteFile() юзай мсдн...
0
|
|
|
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
|
|
| 13.04.2010, 00:07 [ТС] | |
|
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||
| 13.04.2010, 00:09 | ||
|
0
|
||
|
1130 / 789 / 232
Регистрация: 12.04.2010
Сообщений: 2,012
|
|||||||
| 13.04.2010, 00:12 | |||||||
0
|
|||||||
|
60 / 22 / 2
Регистрация: 13.03.2010
Сообщений: 65
|
|||||||||||||||||||||
| 13.04.2010, 01:56 | |||||||||||||||||||||
|
А зачем для 144 бит 144 байта? Достаточно ведь 18 байт. Т.к. 8 бит на байт * 18 байт = 144 бит.
1
|
|||||||||||||||||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|||||||||||||||||||
| 13.04.2010, 02:06 | |||||||||||||||||||
kirjushyk, нумерация элементов массива начинается с нуля, поэтому шестой байт это a[5], а не a[6].
1
|
|||||||||||||||||||
|
60 / 22 / 2
Регистрация: 13.03.2010
Сообщений: 65
|
|
| 13.04.2010, 02:48 | |
|
Шестой байт считая с нуля (как я между прочим и указал) это как раз a[6]. Или как бы я обращался к нулевому байту (считая с нуля)? А со сдвигами я показал, чтобы понятнее было.
0
|
|
|
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
|
|||
| 13.04.2010, 20:10 [ТС] | |||
|
да да , это я перегрелся просто чутка))) у меня то получается вот такая тема,что биты сначала в интах храняться , и при записи....думаю просто умножать на 10 ))) или можно как - то работать сразу через 16ричную(или двоичную) С.С. ? Добавлено через 2 часа 43 минуты Так , возник ещё один главный вопрос. Допустим мы всё зашифровали, записали пачками по байту.Вот.В итоге в фаиле у нас некие символы. А как быть с обратным процессом?(расшифровкой) Т.е. Как мне обратно разбить по битам содержимое ?????
0
|
|||
|
60 / 22 / 2
Регистрация: 13.03.2010
Сообщений: 65
|
|
| 13.04.2010, 20:30 | |
|
Я уже писал, как узнать значение какого-то бита какого-то байта. Последний пример в помощь!
1
|
|
|
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
|
|
| 13.04.2010, 20:33 [ТС] | |
|
Ааааа да да, щас испытаем )
0
|
|
|
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
|
|||||||||||||||||||||
| 20.04.2010, 15:45 [ТС] | |||||||||||||||||||||
|
я вернулся )))
Вообщем, я понял как записать\считать биты. вот что сделал
Вобщем вот в чём проблема. функции отвечающие за Запись битов,Получение значения бита работают нормально , также работает нормально функция возвращающая весь байт. НО вот функция устанавливающая ВСЕЬ БАЙТ почему-то суёт 1 всезде =(((( Добавлено через 1 минуту Попробовал также более простой вариант функции установления байта
Добавлено через 12 минут Либо функция возвращающая байт неправильно работает =( Добавлено через 11 минут блиииин =(((( там функция сетбит тоже не работает...да что за... Добавлено через 6 минут так всё ясно.Это кривые первоисточники !!!! нууу!!! и отсутствие моей логики. а именно , чтобы сдвинуть на несколько разрядов число надо было писать не
0
|
|||||||||||||||||||||
| 20.04.2010, 15:45 | |
|
Помогаю со студенческими работами здесь
19
Запись в фаил c# Запись в фаил фаил типа запись.. Удалёная запись в фаил. Запись данных в конфигурационный фаил Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит:
токи, напряжения и их 1 и 2 производные при t = 0;. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|