Задать вопрос
@dearname

Реализует ли этот цикл метод наименьших битов?

Реализует ли этот цикл, метод наименьших значащих битов? Те кто может пояснить, что тут происходит.
Я интерпретирую, как мы начинаем, со второго символа, потом в цикле мы каждый раз берем символ из нашего файла и дальше мы заносим в наш файл этот символ, только уже в unsigned char типе.
я правильно понимаю? Как он записывает байт в незначащие биты?
fseek(file, 0, 2);
		for(how_much_digits=0 ; ; how_much_digits++)
		{
            ch_tmp=getc(file_txt);
          
		
			if(feof(file_txt))
				break;
			fprintf(file, "%c", ch_tmp);
		}
  • Вопрос задан
  • 152 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Разработчик на C++
    12 месяцев
    Далее
  • Академия Эдюсон
    Разработчик игр на Unreal Engine: тариф Базовый
    9 месяцев
    Далее
  • Яндекс Практикум
    Разработчик C++ расширенный
    12 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
bobrovskyserg
@bobrovskyserg
Да.

def hide(secret, container):
    it, res = iter(container), []
    for c in secret:
        x = ord(c)
        for _ in range(8):
            z = ord(next(it))
            if x & 1:
                z |= 1
            else:
                z &= 254
            x >>= 1
            res.append(chr(z))
    return ''.join(res)

def show(container):
    it, res = iter(container), []
    for _ in range(len(container) // 8):
        x, mask = 0, 1
        for _ in range(8):
            c = next(it)
            if ord(c) & 1:
                x |= mask
            mask <<= 1
        res.append(chr(x))
    return ''.join(res)

container = "01234567890123456789012345678901"  # Тупая строка из 32 букв
secret = "Yes!"  # Тупой секрет из 32/8 = 4 букв
s = hide(secret, container)
print(s)  # "10235476981023547788113254668900"
print(show(s))  # "Yes!"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
СПЕЦПО Санкт-Петербург
от 230 000 до 350 000 ₽
Uniscan Research Новосибирск
от 140 000 до 200 000 ₽
Базис-Центр Коломна
от 70 000 до 500 000 ₽