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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 14.04.2009, 18:14   #1
Volchara
Пользователь
 
Аватар для Volchara
 
Регистрация: 25.03.2009
Сообщений: 55
Печаль Смена знака у двоичного числа

Люди, хелп плиз. Скажите, как сменить знак у двоичного числа?
Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
Volchara вне форума
Старый 14.04.2009, 22:43   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Как представлено то хоть Ваше двоичное число, господин? А то знаете ли "int a = 10" тоже можно считать двоичным числом 1010, а "-a" изменит знак этого числа.
pu4koff вне форума
Старый 14.04.2009, 23:00   #3
("")(Э_Є)("")
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 112
По умолчанию

То те сюда
("")(Э_Є)("") вне форума
Старый 14.04.2009, 23:28   #4
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Зачем туда? На Си тоже вполне возможно это реализовать.
У всех типов чисел, которые являются знаковыми (то есть могут быть положительными и отрицательными) имеется специальный бит, стоящий впереди числа. Если он равен 0 - число положительное, если 1 - отрицательное.
Т.е., если есть
Код:
int a=10;
и если тип int занимает 4 байта (32 бита), то в двоичном представлении переменная a имеет значение
Код:
00000000000000000000000000001010 /*Всего 32 знака*/
соответственно, что бы она стала отрицательной нужно изменить ее значение на
Код:
10000000000000000000000000001010
а точнее просто изменить первый бит на 1. Что-бы это реализовать, нужно воспользоваться побитовыми операторами, читайте информацию по ним
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария

Последний раз редактировалось Blade; 14.04.2009 в 23:35.
Blade вне форума
Старый 15.04.2009, 00:49   #5
("")(Э_Є)("")
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 112
По умолчанию

Та какой маньяк будет это на языке высокого уровня делать, тут что-то не так О_о
Возможно реч идет об этом?

Последний раз редактировалось ("")(Э_Є)(""); 15.04.2009 в 00:54.
("")(Э_Є)("") вне форума
Старый 15.04.2009, 12:04   #6
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Почему маньяк то? Вполне нормальная операция на языки Си, займет пару-тройку строк.
А по поводу обратного кода - все верно, это то что надо
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума
Старый 15.04.2009, 14:09   #7
Alex_Geleva
Новичок
Джуниор
 
Регистрация: 15.04.2009
Сообщений: 1
По умолчанию

Инвертировать(поменять 0<->1) разряды числа и добавить 1
k=73; l=~k+1;
Alex_Geleva вне форума
Старый 15.04.2009, 16:55   #8
Volchara
Пользователь
 
Аватар для Volchara
 
Регистрация: 25.03.2009
Сообщений: 55
По умолчанию

Alex_Geleva, спасибо большое. И всем остальным тоже
Hа C я могy пpосто делать ошибки, на C++ я могy их наследовать!
Volchara вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
продолжительность жизни зависит от знака зодиака Hallo Свободное общение 27 28.02.2014 15:34
Подсчитать количества знака в числе valerij Microsoft Office Excel 5 17.08.2008 16:52
Алгоритм перевода двоичного числа в десятичное и обратно strab Общие вопросы Delphi 5 17.06.2008 21:33
Как округлять числа до целых и как оставить два знака после запятой. bles Помощь студентам 9 19.02.2008 21:53
Помогите сдать экзамен!!! Нужен код деревьев двоичного поиска и еще 2 програмки Девчонка Помощь студентам 8 18.01.2008 19:02