У меня есть этот аудиофайл, который я преобразовал в аудио значения в двоичные числа, чтобы скрыть их в пикселях изображения.
то, что я использовал для преобразования значений аудио, было битовым<16>, поскольку аудио значения хранятся в коротких переменных типа int.
Преобразование в двоичное число работает хорошо, даже если его отрицательное число, но преобразование из отрицательного двоичного значения в десятичное не работает, поэтому любой знает подходящий способ преобразования отрицательных двоичных чисел в десятичное.
bitset <16>a = -8;
cout<<a<<endl;
output = 1111 1111 1111 1000
bitset <16>b = 8;
cout<<b<<endl;
output = 0000 0000 0000 1000
// but if i tried to convert the binary that i got earlier from the -8
bitset <16> c = 1111111111111000;
cout<< c.to_ulong()<<endl;
output = 29016
// how can i get the output of -8 from the c?
Задача ещё не решена.
Других решений пока нет …