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

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

Войти
Регистрация
Восстановить пароль
 
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
#1

Поиск количества битов для типа - C++

25.09.2012, 21:45. Просмотров 377. Ответов 4
Метки нет (Все метки)

Всё понятно, кроме вот этого ((log((double)a)/log((double)2))); Мы логарифм числа а(числа 2 147 483 647) делим на логарифм числа 2 (на калькуляторе 9.33/0.3 = 31 (всё это примерно)).
1).Так вот какое тут основание у логарифма я понять никак не могу?
2). И почему 2 147 483 647, а не все 4 миллиона?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <math.h>
int main()
{
int a,i;
for(a=0; ;a++)
if(a<0)
break;
printf("min: %d", a);
a--;
i=1+((log((double)a)/log((double)2)));
printf(" max: %d bait: %d\n",a, i);
 
system("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2012, 21:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск количества битов для типа (C++):

Переменную типа char представить в виде 8 битов - C++
У меня есть символ a. char x = 'a'; = 1 байту. Тоесть 8 битам. Как мне получить символ a в битовом представлению? Тоесть a=....

Бинарный поиск для нахождения количества повторяющихся элементов - C++
Здравствуйте. Стоит следующая несложная задача: Дан массив (отсортированный). Например 1 1 1 4 5 6 6 6 6 6 6 6 При вводе...

Перевод таблицы битов и времени в последовательность битов arduino - C++
доброго времени суток в приведенной ниже таблице левый столбец - биты, правый - их длительность. известно, что единичный сигнал длится от...

Цикл для проверки битов числа - C++
Имеется задача: &quot;Определить, насколько в числе А больше значащих битов, равных единице, чем битов, равных ну-лю&quot;. Собственно, я...

Операции с побитовыми операторами (число 8 битов и число 9 битов) - C++
Доброго времени суток всем ! Прошу ответа на несложный вопрос (...по крайней мере мне так кажется...) Есть функция: ...

Число смежных цветовых битов для каждого пикселя - C++
Ругается на GetDeviceCaps(HDC, int), как я понял, это дескриптор контекста устройства, в Delphi показано как это лечить, но в консоле не...

4
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.09.2012, 21:50 #2
Цитата Сообщение от aleksand Посмотреть сообщение
какое тут основание у логарифма
Натуральный логарифм.
Натуральный логарифм — это логарифм по основанию e, где e — иррациональная константа, равная приблизительно 2,718281828.
1
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
25.09.2012, 22:07  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Натуральный логарифм.
А вот с почему мы берём натуральный логарифм от 2 147 483 647, а не от 4 294 967 295? (ведь если так сказать искать количество бит по простяцки, то это: 4 294 967 295 делим на 2 и к количеству делений коих будет ровно 31 прибавляем 1)

Добавлено через 14 минут
Вопрос решил. Спасибо за ответы
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.09.2012, 22:09 #4
Может потому, что int это целое число со знаком от −2,147,483,648 до +2,147,483,647 ?
0
ValeryS
Модератор
6653 / 5062 / 470
Регистрация: 14.02.2011
Сообщений: 16,926
08.10.2012, 19:55 #5
Цитата Сообщение от aleksand Посмотреть сообщение
for(a=0; ;a++)
if(a<0)
break;
а так???
C++
1
for(a=0;a<0;a++);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2012, 19:55
Привет! Вот еще темы с ответами:

Написать функцию, которая для заданного x посчитает количество единичных битов в этом числе. - C++
Написать функцию, которая для заданного x посчитает количество единичных битов в этом числе. Проблема состоит в том, что все время...

Вычисления заданного целочисленного выражения для данных в формате 16 битов со знаком, используя оператор IF - C++
Задание на скрине...Текст задачи надо переписывать!!!! Вот ОДЗ: a != 0; b != 0 Написал такую программу: int main() { short a, b, x;...

Написать функцию, которая для заданного числа Х вычисляет количество единичных битов в этом числе - C++
Написать функцию, которая для заданного числа Х вычисляет количество единичных битов в этом числе, используя побитовые операции и функции...

поиск количества делителей чисел от 1 до N - C++
итак задача нужно посчитать кол-во чисел с одинаковым количество делителей, взять число перестановок, все перемножить, отнять единицу. ...


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
08.10.2012, 19:55
Ответ Создать тему
Опции темы

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