Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Вопросы начинающих программистов
Перезагрузить страницу Как восстановить первоначальное значение переменной
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Vitalmsk Vitalmsk вне форума
Новичок
 
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.02.2011
По умолчанию Как восстановить первоначальное значение переменной - 28.02.2011, 00:27

Язык - С
Что надо: Есть числовая переменная k надо в переменную b по циклу передавать значения битов переменной k от младшего к старшему (можно и наоборот) и обратная операция из битового значения переменной b восстановить первоначальное значение переменной k.
Пример:
пусть k=5 (т.е 0101) в переменную b по очереди передается 1,0,1,0
соответственно и наоборот ,если в переменной b поочереди появляются 1,0,1,0 , то в переменной k "восстанавливается" число 0101 т.е. 5
Ответить с цитированием
  (#2 (permalink)) Старый
Alexiski Alexiski вне форума
Любитель давать советы
 
Сообщений: 4,280
Сказал(а) спасибо: 27
Поблагодарили 54 раз(а) в 54 сообщениях
Регистрация: 16.10.2005
По умолчанию 28.02.2011, 11:54

"В лоб":
cpp Код:
for (int i=0; i<8; i++)
{
   b[i] = k & (1<<i);
}
//...
for (int i=0; i<8; i++)
{
   if (b[i])
   {  
      k |= (1<<i);
   }
}
Ответить с цитированием
  (#3 (permalink)) Старый
Джеки Джеки вне форума
Member
 
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.12.2010
По умолчанию 28.02.2011, 12:35

Я могу это сделать, НО.. в твоём примере число записывается в 4 бита. Тип int имеет 32 бита, а тип short int 16 бит. Т.е если у нас будет число 5 присвоенно переменной типа short int, то в двоичном коде оно будет выглядить так 0000 0000 0000 0101, и после реверса чисел оно будет выглядить так 1010 0000 0000 0000.
Можно сделать битовое поле и работать с 8 битами ( от 0 до 255 в десятичной системе ) или с 4 битами ( от 0 до 15 ), как в твоём примере.
В общем определись сколько бит у тебя будет.
П.С Поправьте если я не прав..
П.С.С Мне думается, что лучше такие вопросы писать на форумах, где люди занимаются программированием контроллеров, ибо они работают с такими вещами
Ответить с цитированием
  (#4 (permalink)) Старый
Джеки Джеки вне форума
Member
 
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.12.2010
По умолчанию 28.02.2011, 12:36

во.. уже решили : ) я бы по-другому реализовал.. посложнее )
.. хотя нет.. так и сделал бы..
Ответить с цитированием
  (#5 (permalink)) Старый
Vitalmsk Vitalmsk вне форума
Новичок
 
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.02.2011
По умолчанию 28.02.2011, 22:05

Спасибо за подсказку.
Переменная k в диапазоне от 00 до FF, а вот восстановливать надо именно до первоначального значения.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Джеки Джеки вне форума
Member
 
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.12.2010
По умолчанию 01.03.2011, 00:44

Vitalmsk, так ты понял как сделать то? Alexiski, достаточно доходчиво написал..
Ответить с цитированием
  (#7 (permalink)) Старый
Vitalmsk Vitalmsk вне форума
Новичок
 
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.02.2011
По умолчанию 01.03.2011, 12:45

Да всё вопрос закрыт. Огромное спасибо!!!
Ответить с цитированием
  (#8 (permalink)) Старый
030990 030990 вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.03.2011
По умолчанию 04.03.2011, 15:19

Народ,я задам вопрос банальный до ужаса,но ответ на него я найти не могу.Программирую в Delphi 2010,недавно поставил Delphi на Win7...теперь вопрос-почему в Delphi перестал работать Enter?Т.е. при его нажатии в коде должны появляться пробелы между строками,а у меня при его нажатии курсор просто по строкам перемещается.Заранее спасибо.
Ответить с цитированием
  (#9 (permalink)) Старый
ildar323 ildar323 вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 01.03.2011
По умолчанию 05.03.2011, 15:10

Цитата:
Сообщение от 030990 Посмотреть сообщение
Народ,я задам вопрос банальный до ужаса,но ответ на него я найти не могу.Программирую в Delphi 2010,недавно поставил Delphi на Win7...теперь вопрос-почему в Delphi перестал работать Enter?Т.е. при его нажатии в коде должны появляться пробелы между строками,а у меня при его нажатии курсор просто по строкам перемещается.Заранее спасибо.
режим редактирования посмотри (нажатием кнопки Insert): вставка или замена
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СИ. Каково значение переменной на выходе? isx С/С++ 4 19.01.2012 23:09
Присвоить переменной F значение 1 swatsam Вопросы начинающих программистов 14 07.01.2011 23:46
Непонятное значение ссылочной переменной fredwriter Delphi 10 27.09.2010 16:19
Как вывести на форму значение переменной УРов C++ Builder 12 09.11.2008 15:00
Переменной не присваивается значение Dashutka C++ Builder 2 31.03.2007 19:47
Запись переменной в новое значение swat-90 C++ Builder 20 27.12.2006 22:06
Как передать значение переменной tokito ASP 2 02.10.2006 13:07
Как присвоить переменной S значение 0 Lakomka Вопросы начинающих программистов 36 18.10.2005 14:54
Как обновить значение переменной m_edit lord Visual C++ 1 22.09.2005 19:31
Значение переменной regbist как узнать Regbist Assembler 3 04.05.2005 17:17
Присваивание значение переменной Skywalker-cyb Visual C++ 2 06.01.2003 20:25
Присвоение значение переменной Serial Delphi 4 27.11.2002 12:34



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов