как преобразовать отрицательное число в двоичное и наоборот?

У меня есть этот аудиофайл, который я преобразовал в аудио значения в двоичные числа, чтобы скрыть их в пикселях изображения.

то, что я использовал для преобразования значений аудио, было битовым<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?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]