|
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
|
|
Запись в фаил11.04.2010, 14:15. Показов 1455. Ответов 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# Запись в фаил фаил типа запись.. Удалёная запись в фаил. Запись данных в конфигурационный фаил Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|