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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

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

22.11.2012, 11:26. Просмотров 233. Ответов 0
Метки нет (Все метки)

Функция должна вернуть количество шестнадцетеричных чисел, минимально необходимых для представления значения параметра.
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++
1 Написать функцию с параметрами по умолчанию в соответствии с вариантом , продемонстрировать различные способы вызова функции: • с...

Переменная в явно загруженной DLL - C++
Здравствуйте! У меня есть глобально объявленная переменная std::string adres_fayla; в dll. Эта ДЛЛ грузится к проекту явно. Как...

Как явно преобразовать указатель? - C++
Здравствуйте! Изучая возможности наследования столкнулся со следующим утверждением: &quot;Если для объекта производного класса объявить...

Вычислить где значение функции меняет знак(отделение корней функции) - C++
Имеется следующая функция f(x)=sqrt(4*x+7)-3*cos(x) Нужно написать программу, где будет выводится таблица, где будет видно при каком...

Зачем нужно явно указывать тип переменной? - C++
Всем привет! Объясните зачем нужно явно указывать тип переменной? Например в С++ это обязательно, а php нет. Просто говорят что не...

Как можно явно вызвать оператор преобразования? - C++
Доброго времени суток Как можно явно вызвать такой оператор преобразования? struct CL { template &lt;class A, class B, class...

Некорректное ли предупреждение gcc о явно запрещенном конструкторе? - C++
Здравствуйте! У меня есть класс Uncopyable, который явно запрещает копирование. От него наследую класс, в котором есть указатели, и...

Почему работают методы явно не созданного объекта - C++
Привет. Беглый поиск не дал ответа на вопрос, почему работает нижеприведённый код: class SomeClass { public: ...

Ошибка при удалении явно заданного указателя - C++
Помогите, пожалуйста, с этой проблемой. Уже 2 недели не могу сдать лабу &quot;main.cpp&quot; char* a=new char; char b=0; char* c=new char;...

В главной функции main () ввести входные данные, и вызвав собственные функции, вычислить значение выражения и вывести результаты - C++
В главной функции main () ввести входные данные, и вызвав собственные функции, вычислить значение выражения и вывести результаты. ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru