Re[3]: Преобразование в строку
От: RLX  
Дата: 28.12.11 04:55
Оценка:
Здравствуйте, YourLastSong, Вы писали:

K>>Если вопрос в том, как вернуть в начало пропавшие нули, то это можно сделать так:


YLS>Вы не совсем прав. меня поняли.


YLS>Смотрите, у меня есть два числа.


YLS>Например, 4 и 10.


YLS>Их можно представить в виде 0100 и 1010, после чего объединить в одно число, являющееся как бы битовой маской (в данном случае это будет 01001010). Потом разбить их обратно на два, тем самым экономя место на сохранение их в файл (вместо 8 байт будем хранить всего 4 байта). Разумеется, экономя всего 4 байта, мы мало чего с этого полезного получим, однако если таких чисел довольно много, то такой подход уже довольно полезен.


YLS>Да, я знаю про bitset, boost::dynamic_bitset и т.д., однако даже при их использовании я получу гораздо меньше пользы в данном случае.


Может это нужно

int A = 4;
int B = 10;

int C = ( A << 16 ) | B;

int eA = C >> 16;
int eB = C & 0xFFFF;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.