Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
3 / 2 / 2
Регистрация: 22.12.2016
Сообщений: 219

8 бит собрать в 1 байт

06.01.2017, 15:01. Показов 4417. Ответов 22
Метки нет (Все метки)

Помогите собрать в один байт 8 знаков что то не получается, в делфи работает в с++ билдере не хочет. В архиве на билдере написанно, там же файлик test.log который с помощью конвертера конвертится и на выходе в файле появляются значения $T1 и тд.
Вот на дельфи рабочий код
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function BinaryToByte(const s : string):byte;
var i:integer;
 
begin
   result := 0;
   for i:=1 to 8 do begin
     result := result * 2;
     if s[i]='1' then Inc(result);
 
   end;
end;
 
 
procedure TForm1.Button1Click(Sender: TObject);
var s , fname : string;
   i:integer;
  b  : byte;
  ch : char;
  f  : TFileStream;
  f2 : File of byte;
 
begin
 
 if not OpenDialog1.Execute then Exit;
fname:=OpenDialog1.filename;
f:=TFileStream.Create(fname,fmOpenRead);
 
 if not SaveDialog1.Execute then Exit;
AssignFile(f2, SaveDialog1.FileName);
  Rewrite(f2);
 
  s:='';
  for i:=1 to f.Size do begin
    f.ReadBuffer(ch,1);
    if (ch='0') or (ch='1') then begin
      s := s + ch;
      if length(s)=8 then begin
         b := BinaryToByte(s);
         BlockWrite(f2, b, 1);
         s := '';
      end;
    end;
  end;
 CloseFile(f2);
 
 ShowMessage('Готово');
 
end;
впринцепи всё тоже самое но почему то не работает.
Вложения
Тип файла: rar test.rar (613.6 Кб, 4 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.01.2017, 15:01
Ответы с готовыми решениями:

Считать Бит/Байт из файла!
Здравствуйте.Прошу помощи или совета. Необходимо считать некоторый бит файла и байт. (есть файл, некоторого расширения, и я знаю что в...

Закодировать файл. Взять 7 байт. Первый бит каждого байта переместить в 8 байт
Нужно открыть бинарный файл и закодировать следующим образом. Взять 7 байт. Первый бит каждого байта переместить в 8 байт. То есть,...

Представление из бит в байт
Вообще такая беда как представить биты в то что они были сначала,вот так я представляю байт в битах с помощью маски,а как обратно не знаю ...

22
3 / 2 / 2
Регистрация: 22.12.2016
Сообщений: 219
29.01.2017, 11:34  [ТС]
Столкнулся с проблемой, если данные бинарные то он не ксорить до конца файл теряет данные или обрыв ксора так сказать половина заксорит половину оставит без изменений.
0
3 / 2 / 2
Регистрация: 22.12.2016
Сообщений: 219
29.01.2017, 16:19  [ТС]
Помогите разобратся, в архиве файл заксоренный и результат, также проект билдера 6. Спасибо.
Вложения
Тип файла: rar Result.rar (619.2 Кб, 1 просмотров)
0
3 / 2 / 2
Регистрация: 22.12.2016
Сообщений: 219
30.01.2017, 07:14  [ТС]
Помогите люди добрые, никак не могу понять почему конвертер на C++ тупит, на дельфине он работает, оба проекта в архиве и файлик на ксор там же. Спасибо!
Вложения
Тип файла: rar Project.rar (2.42 Мб, 1 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.01.2017, 07:14

Конвертирование бит в байт
Как можно из бит получить байт к примеру из 11111111 получит 255 есть ли какая нибудь функция?

Массив байт в бит
Есть массив байт. Как быстро считать в бит и вывести в RichEdit?

Ребуса БИТ+БАЙТ=СЛОВО
Помогите до увести до ума задачу по решению ребуса. БИТ+БАЙТ=СЛОВО, должно получиться 9 2,3 7+9 5 3,2 7=10464 ...

Конвертация массива бит в массив байт
Есть ли в Java стандартные функции для конвертации массива бит в массив байт? При этом, что бы можно было менять размерность байтов: 1 байт...

Порядок байт в слове и бит в байте
читал эту требуются пояснения. A B C D - адреса в них число 128 BE A B C D ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
[golang] Insert Delete GetRandom O(1) (Leetcode: 380)
alhaos 16.06.2026
Insert Delete GetRandom O(1) Сложность: Medium Источник: LeetCode 380 Задача Реализовать структуру данных RandomizedSet, которая поддерживает следующие операции за O(1) в среднем:
Свет в конце тоннеля
kumehtar 16.06.2026
Поймал себя на одной мысли. Раньше мне всегда казалось неправильным жить без чёткого понимания, куда всё идёт. Будто я иду по дороге судьбы, но не знаю, куда она ведёт. А раз не знаю — значит,. . .
[golang] Реализация стека с поддержкой получения минимального элемента за O(1)
alhaos 16.06.2026
Min Stack Сложность: Medium Источник: LeetCode 155 Задача: Реализовать стек который поддерживает push, pop, top и получение минимального элемента за O(1). Методы:
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru