6 / 4 / 3
Регистрация: 28.10.2014
Сообщений: 149
1

LSB (Least Significant Bit)

07.11.2018, 23:34. Показов 2700. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер!
Есть у меня лабораторное задание реализовать стенографию.
И я не понимаю некоторые моменты.
Какую информацию несёт эта картинка?
Кликните здесь для просмотра всего текста
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
void hide_byte_into_pixel(RGBQUAD *pixel, uint8_t hide_byte)
{
pixel->rgbBlue &= (0xFC);
pixel->rgbBlue |= (hide_byte >> 6) & 0x3;
pixel->rgbGreen &= (0xFC);
pixel->rgbGreen |= (hide_byte >> 4) & 0x3;
pixel->rgbRed &= (0xFC);
pixel->rgbRed |= (hide_byte >> 2) & 0x3;
pixel->rgbReserved &= (0xFC);
pixel->rgbReserved |= (hide_byte) & 0x3;
}

что это |= &= за знаки и зачем здесь происходит сдвиг hide_byte >> 6 , а так же вот эта операция & 0x3 одним словом :я понимаю суть LSB (я так сам решил))) )
,но не понимаю как его реализовать.
https://docviewer.yandex.ru/vi... U3OTI2NDN9
Миниатюры
LSB (Least Significant Bit)  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2018, 23:34
Ответы с готовыми решениями:

the most-significant byte
как можно определить the most-significant byte , через окно memory ?

Обясните мне, если Windows 32 bit, процессор 64 bit, то работает ли 2-ое ядро?
Обясните мне, если ОС Windows 32 bit, процессор 64 bit, все программы установлены разумеется 32...

HP ProBook 6570b (под 64-bit) встанет ли на него Win 32-bit?
Здравствуйте! Необходим ноутбук, чтобы в нем был аппаратный COM-порт - специализированый софт...

Ноут Aspire 5560G: не ставится Windows 7 64-bit, в отличие от 32-bit
На сайту Acer драйвера на 64-битную версию. Три диска втыкал "Windows 7 SP1 64-bit" сейчас. Два...

2
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
07.11.2018, 23:57 2
Цитата Сообщение от yuriybolotin99 Посмотреть сообщение
реализовать стенографию
Уверен, что не её. Если бы написали стеганографию, было бы другое дело.

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
// Очистить младшие 2 бита в синем канале. 0xFC = 0b11111100.
// &= это побитовое И. В старших 6 разрядах сохранится то, что там
// было до этого. (1 И 1 = 1), (1 И 0 = 0). В младшие 2 разряда попадут 0.
pixel->rgbBlue &= (0xFC);
 
// Записать старшие 2 бита (8й и 7й) из сохраняемого байта.
// |= это побитовое ИЛИ. (0 ИЛИ 1 = 1), (0 ИЛИ 0 = 0).
// >> 6 это сдвинуть на 6 бит вправо. Т.е. выкинуть младшие 6 бит.
// & 0x3 это побитовое И. Выделить из числа младшие 2 бита. 0x3 = 0b00000011.
pixel->rgbBlue |= (hide_byte >> 6) & 0x3;
 
// Очистить младшие 2 бита в зеленом канале.
pixel->rgbGreen &= (0xFC);
 
// Выкинуть младшие 4 бита и сохранить 6й и 5й.
pixel->rgbGreen |= (hide_byte >> 4) & 0x3;
 
pixel->rgbRed &= (0xFC);
 
// Сохранить 4й и 3й.
pixel->rgbRed |= (hide_byte >> 2) & 0x3;
 
pixel->rgbReserved &= (0xFC);
 
// Сохранить 2й и 1й.
pixel->rgbReserved |= (hide_byte) & 0x3;
Картинка - структура файла формата bmp. В двух словах трудно объяснить, смотрите примеры.
1
6 / 4 / 3
Регистрация: 28.10.2014
Сообщений: 149
08.11.2018, 00:01  [ТС] 3
Вы правы я немного ошибся и уже понял , а то я искал "стенаграфию" и ничего не нашёл ,что мне нужно)))
0
08.11.2018, 00:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2018, 00:01
Помогаю со студенческими работами здесь

Разбиение на треугольники: разное поведение WinXP 32 bit и Win 7 64 bit
Добрый день. Народ, я даже знаю в какую тему постить.... Вобщем словил глюк следующего содержания....

Как узнать какая у меня винда (Windows XP SP3 2008): 32 bit или 64 bit?
Как узнать какая у меня винда (Windows XP SP3 2008): 32 bit или 64 bit?

Установка 8.1 64-bit второй системой, дополнительно к XP 32-bit
Всем доброго дня! На компе стоит XP Home Edition, 32-бит. Необходимо поставить 8.1pro 64-бит...

Можно ли изменить шину 64 bit в 128 bit?
Всем привет. Есть видеокарта Palit GeForce GT 430 1gb GDDR3 (GPU: GF108) с шиной 64 бита... ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru