![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
newgigabyte |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 104 Регистрация: 10.1.2008 Репутация: нет Всего: 2 |
почему этот код
выдает тоже самое число что и получает, а не первый бит. --------------------
|
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
newgigabyte
а зачем он должен возвращать первый бит? bool это не бит, его размер зависит от реализации, но это никак не бит. Если нужно получить первый бит - используй битовые операции. Это сообщение отредактировал(а) azesmcar - 29.6.2009, 15:41 |
|||
|
||||
StLynx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 4.8.2007 Где: Владимир Репутация: нет Всего: нет |
дада, бул это байт
|
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
newgigabyte, у тя в 5-й строчке утечка памяти
![]() bool это синоним char чтобы получить 1-й (0й) бит x нада писать x&1 |
|||
|
||||
Gordon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 9.7.2006 Репутация: 1 Всего: 6 |
Да, это точно. И выводится то, что и должно выводиться... И автор, кажется, не совсем понял что хочет получить. -------------------- |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
С какой это балды ему быть байтом?! ![]() То что на некоторых компиляторах/платформах sizeof(bool) == 1 это не значит что это байт! Это сообщение отредактировал(а) andrew_121 - 29.6.2009, 17:58 -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
and277 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 9.4.2009 Репутация: нет Всего: нет |
Могу ошибаться, но как уже и сказали в большинстве компиляторов тип bool имеет размер 1 байт. А вообще этот размер может быть разным в зависимости от конкретной реализации компилятора.
Чисто теоретически bool можно представить в виде одного лишь бита. Более и не надо. Но! Использование отдельных бит в программе нецелесообразно ввиду того что битовые операции выполняются медленнее байтовых. Если что подправьте меня плиз. |
|||
|
||||
Gordon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 9.7.2006 Репутация: 1 Всего: 6 |
Теоретически - да! Должно хватить, но, на сколько я знаю, единица памяти в С++ - байт... -------------------- |
|||
|
||||
and277 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 9.4.2009 Репутация: нет Всего: нет |
Согласен... Размер типа и битовые операции разные вещи. Это сообщение отредактировал(а) and277 - 30.6.2009, 12:56 |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 4 Всего: 459 |
newgigabyte, может вам vector<bool> нужен вместо bool* tt=new bool[16]; , так вроде битами и хранятся true и false.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
586 |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 8 Всего: 146 |
bool - это логический тип - может принимать значения либо false либо true, и никакое другое.
|
||||
|
|||||
zim22 |
|
|||
![]() depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
bool "никакое другое" тоже может принимать http://forum.vingrad.ru/index.php?showtopi...t&p=1900696 |
|||
|
||||
azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
Это нечестно ![]()
Другое дело что bool - некоторая область памяти, а в этой памяти можно записать все что угодно (да хоть через memcpy). А вот сам bool ничего другого не примет.
|
||||
|
|||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
это незнание особенностей реализации if (b != false) if (b != true) - быдлокод, ты бы еще число символов считал |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |