Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 26.02.2020
Сообщений: 9

Конвертировать код с C++ в С#

10.04.2020, 20:42. Показов 3157. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно конвертнуть код под с#. Реализую считывание битов с байта файла (bits), с сохранением файла с измененными битами в другой файл(bits2).
Кто шарит - отпишите пожалуйста
C++
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
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
 
 
unsigned char reverseBits(unsigned char data) {
   data = (data & 0x55) << 1 | (data & 0xAA) >> 1;
   data = (data & 0x33) << 2 | (data & 0xCC) >> 2;
   data = (data & 0x0F) << 4 | (data & 0xF0) >> 4;
 
   return data;
}
 
int main()
{
    unsigned char data ;
     ifstream infile;
     infile.open("E:\\bits.txt");
 
     cout << "Reading content from the file" << endl;
     infile >> data; // read the data from the file 
     ofstream out ("E:\\bits2.txt"); 
     out << (reverseBits(data)) << endl;
     infile.close() << endl;
     return 0;
 
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.04.2020, 20:42
Ответы с готовыми решениями:

Как конвертировать (разобраться) маленький PHP код в «псевдо» код?
Доброго времени суток! Я отел бы разобраться в одном алгоритме который к сожалению написан на PHP синтаксис которого мне не ясен. Мог бы...

Как код из C# конвертировать в код C++
Как код из C# конвертировать в код C++?

Конвертировать код C++ в C#
Всем привет. Ребята, очень нужна ваша помощь - нужно конвертировать код C++ в C#. Я бы подучил С#, чтобы разобраться, но время поджимает......

4
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
10.04.2020, 21:55
Точно этот код решает задачу, которую ты описал? По-моему нет.

Добавлено через 47 секунд
Он на С++ её не решает. И нужно переписать на C# нерабочий код? Или нужно просто написать рабочий, а это как примерная подсказка, что хотелось реализовать?

Цитата Сообщение от Lessit Посмотреть сообщение
Реализую считывание битов с байта файла (bits)
Или всё-таки здесь речь об одном байте и это не ошибка?

Цитата Сообщение от Lessit Посмотреть сообщение
с сохранением файла с измененными битами в другой файл(bits2).
В С++ коде во второй файл сохраняется меньше, чем есть в первом файле.

Добавлено через 8 минут
Сам реверс работает правильно.
C++
1
2
std::cout << std::bitset<8>(data) << std::endl;
std::cout << std::bitset<8>(reverseBits(data)) << std::endl;
0
0 / 0 / 0
Регистрация: 26.02.2020
Сообщений: 9
10.04.2020, 21:59  [ТС]
Обработка всех байтов - то отдельная история, ее уже я потом добавлю
По поводу отображения байтов в выходном файле - да, возможно потому что действие применяется именно к одному байту, не массиву.
Вообще, думал реализовать реверсию/инверсию через клик по кнопке в wf, так как оно более удобней будет, чтоль)
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
10.04.2020, 22:18
Лучший ответ Сообщение было отмечено Lessit как решение

Решение

C#
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
using System;
using System.IO;
 
namespace BlackMagic
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var fsIn = File.OpenRead("E:\\doc.txt"))
            using (var reader = new BinaryReader(fsIn))
            using (var fsOut = File.Create("E:\\doc2.txt"))
            using (var writer = new BinaryWriter(fsOut))
            {
                byte data = reader.ReadByte();
                byte reversed = ReverseBits(data);
                Console.WriteLine($"Original value: {Convert.ToString(data, 2).PadLeft(8, '0')} {(int)data}");
                Console.WriteLine($"Reversed value: {Convert.ToString(reversed, 2).PadLeft(8, '0')} {(int)reversed}");
                Console.WriteLine();
 
                writer.Write(reversed);
            }
 
            Console.ReadKey();
        }
 
        private static byte ReverseBits(byte original)
        {
            byte reversed = original;
            for (int x = 0; x < 7; x++)
            {
                reversed = (byte)(reversed << 1);
                original = (byte)(original >> 1);
                reversed = (byte)(reversed | (original & 1));
            }
            return reversed;
        }
    }
}
0
0 / 0 / 0
Регистрация: 26.02.2020
Сообщений: 9
11.04.2020, 00:19  [ТС]
Спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.04.2020, 00:19
Помогаю со студенческими работами здесь

Конвертировать код с VB в C#
Привет всем. Вот только только начал писать на шарпе и возникла такая проблемка. Вот как такой код на VB перевести в шарп ??? Там описан...

Конвертировать код из С в C#
Доброе время суток Помогите конвертировать код из С в C# #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include...

Конвертировать код в с#
помогите, пожалуйста , конвектиовать код з java в с# Дана строка, содержащая последовательность символов s0, ..., sn .... исключить из ...

Конвертировать код из с++ в с#
Нужно конвертировать код из с++ #include &lt;iostream&gt; using namespace std; int sum_kube(int n); int main() { int...

Конвертировать код в Pascal
Добрый вечер, обращаюсь за помощью. Есть небольшой код, его необходимо конвертировать в Pascal. Я попробовал его переписать, но получился...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
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. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru