Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2017, 15:41   #11
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Код:
str += "1"
проблема в том что значения записываются с начала в конец а нужно чтобы с конца в начало
Например

010000
а нужно 000010
dimaSlon вне форума Ответить с цитированием
Старый 14.11.2017, 15:42   #12
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

От так можно:
Код:
for (int index = numBits; index != 0; --index)
	{
		if (IsOn(number, index))
			str +=  "1";
		else
			str +=  "0";

	}
dimaSlon вне форума Ответить с цитированием
Старый 14.11.2017, 15:52   #13
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

а 0й бит вы не тестируете? Используйте str.insert(0, 1, "1")
p51x вне форума Ответить с цитированием
Старый 14.11.2017, 15:56   #14
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Зато тестирует 32-ой бит...
waleri вне форума Ответить с цитированием
Старый 14.11.2017, 16:04   #15
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
а 0й бит вы не тестируете? Используйте str.insert(0, 1, "1")
я так переписал:
Код:
emplate <typename T>
std::string ToBinary(T number)
{
	std::size_t numBits = 8 * sizeof(T);
	std::string str(numBits, '0');
	for (std::size_t index = numBits; index != 0; --index)
	{
		if (IsOn(number, index))
			str[index] =  '1';
	}
	return str;
}
но снова вывод с начала((
dimaSlon вне форума Ответить с цитированием
Старый 14.11.2017, 16:16   #16
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Вы еще про endian не прочитали...
p51x вне форума Ответить с цитированием
Старый 14.11.2017, 16:18   #17
dimaSlon
Форумчанин
 
Регистрация: 24.06.2017
Сообщений: 160
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Вы еще про endian не прочитали...
мне нужно в little-endian записать. а зараз записывается в big-endian
dimaSlon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ побитовые операции Rus5 Помощь студентам 0 28.05.2013 22:34
Побитовые операции С++ Pein95 Общие вопросы C/C++ 3 19.11.2012 14:48
Си.Побитовые операции Alina111 Visual C++ 6 24.06.2012 20:53
Побитовые Си makc101 Помощь студентам 1 11.04.2011 10:36
побитовые операции Dimarik Общие вопросы C/C++ 7 16.04.2010 19:27