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

Определить разрядность числа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти число различных путей, по которым фишка может пройти поле от начала до конца http://www.cyberforum.ru/cpp-beginners/thread329703.html
Фишка может двигаться по полю длинны N только вперед. Длина хода фишки не более K. Найти число различных путей, по которым фишка может пройти поле от начала до конца.
C++ Аппроксимации периодического сигнала суммой ряда Фурье? Нужно написать программу аппроксимации периодического сигнала суммой ряда Фурье ... Подскажите или дайте похожий проект .. Заранее спасибо ... http://www.cyberforum.ru/cpp-beginners/thread329695.html
C++ Подсчет количества слов в строке s разделенных пробелами, или запятой
Нужно написать простую программку на C или C + + ... Подсчет количества слов в строке s разделенных пробелами, или запятой. Для этого нужно использовать функцию: int Words (s). Нельзя использовать библиотеку string.h ... Заранее спасибо!
C++ Многомерный динамический массив
Пользователь вводит размер массива Массив заполнняется рандомными (случайными) значениями 1-9 При условиях если: 1 вывеси на экран * 2 - : 3 - ; 4 - № и так далее
C++ Из Дейтела (4.20) http://www.cyberforum.ru/cpp-beginners/thread329652.html
Привет всем!!!! Ребята, есть задачка из Дейтела (4.20) для зачета, но совсем в проге не смыслем, послезавтра сдают, кто поможет а? И если нетрудно с комментариями! (Система резервирования билетов авиакомпании). Небольшая авиакомпания купила компютеры для своей новой автоматизированной системы резервирования. Вас попросили запрограммировать нову- систему. Вы должны написать программу выделения...
C++ Посимвольная обработка строки простой пример использования функции WordIndex(s,n). подробнее

Показать сообщение отдельно
Bogdan1986
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 4
10.11.2015, 13:48     Определить разрядность числа
все работает, определяет разрядность 32 разрядного числа и делит и находит (2^30)/x


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
int x=1024; 
int a=x; 
int n=0; 
int b=0; 
int sum=0; 
int c=1; 
int sum2=0; 
 
 
 
 
if((16)>0) 
{ 
a=(16); 
n=n+16; 
} 
if((8)>0) 
{ 
a=(8); 
n=n+8; 
} 
if((4)>0) 
{ 
a=(4); 
n=n+4; 
} 
if((2)>0) 
{ 
a=(2); 
n=n+2; 
} 
if((1)>0) 
{ 
a=(1); 
n=n+1; 
} 
if(a==1) 
{ 
a=(1); 
n=n+1; 
} 
 
b=(30-n); 
c=(30-n); 
 
for(int i=0;i<(30-n);i++) 
{ 
 
if(1073741824-(sum+b)>0) 
{ 
sum=b+sum; 
sum2=c+sum2; 
} 
 
b=1; 
c=1; 
 
} 
 
 
System.out.println(sum2); 
System.out.println(n);
Добавлено через 28 минут
будем добавлять до миллиона скажем
14 - 0 сумма 999 982
28 - 0 сумма 999 982
56 - 1 сумма 999 982
112-0 сумма 999 926
224-0 сумма 999 926
448-0 сумма 999 926
896 -0 сумма 999 926
1792-0 сумма 999 926
3584 -1 сумма 996342 + 3584 = 999 926
7168 -1 сумма 989 174+7168 = 996 342
14 336 - 1 сумма 974 838+14 336 = 989 174
28 672 -0
57 334 - 1 сумма 917 504+57 334=974 838
114 688 - 0
229 376 - 0
458 752 - 0 сумма 917 504 так как 917 504+458 752 больше миллиона
917 504 - 1 сумма 917 504
1 835 008 - 0 число уже больше милиона сумма 0

итак смотрите снизу вверх
получаем число
10001011100000100 - вот такое вот число
переведем его из двоичного в десятиричное
получили число 71 428
и теперь если умножить 71 428 на 14 получим 999 992
с точностью до шестого знака
и при таких вычислениях мы не применяли умножений только суммы
и разности
 
Текущее время: 15:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru