Форум программистов, компьютерный форум CyberForum.ru

Явно завышенное значение функции - C++

Восстановить пароль Регистрация
 
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.11.2012, 11:26     Явно завышенное значение функции #1
Функция должна вернуть количество шестнадцетеричных чисел, минимально необходимых для представления значения параметра.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
size_t       Log16    (size_t       Bits )
{
 size_t result;
 size_t max;
 size_t start;
 max=std::numeric_limits<size_t>::max();
 start=(max/4)*4;
 for (result=start; result>0; result-=4)
 {
  if ((((Bits)>>result)&0x0F)!=0x00)
  {
   return result;
  }
 }
 return 0;
}
Bits=8 192 (нормально)
max=4 294 967 295 (странно, так как система x64)
start=4 294 967 292 (c учётом max нормально)
При значении result=4 294 967 276 (((Bits)>>result)&0x0F) приняло значение 0x02, что ещё более странно, чем 32-х битный sizof. С чем может быть связано?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2012, 11:26     Явно завышенное значение функции
Посмотрите здесь:

C++ Для данного вещественного х найти значение следущей функции f, принимающей значение целого типа:
Функции: вычислить значение сложной (составной) функции C++
Вычислить значение функции a = b ^2 sin (b), причем b изменяется от 0,9 до 1,7 с шагом 0,2. Найти среднее значение разности между элементами C++
Как явно преобразовать указатель? C++
C++ циклы. Требуется найти максимальное значение функции на отрезке [a,b] и значение x C++
Дано разложение функции в ряд Тейлора. Вычислить для значения x и точности Eps точное значение функции C++
C++ Вывод фамилии, имени и отчества с помощью функции с явно заданными или частично пропущенными параметрами
Вычислить значение аргумента x, значение функции y, max и min функций C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 03:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru