|
1 / 1 / 0
Регистрация: 18.04.2011
Сообщений: 9
|
||||||
Определить разрядность числа05.07.2011, 08:25. Показов 49654. Ответов 13
Метки нет (Все метки)
Добрый день, написал функцию для определения разрядности числа, однако отказывается работать.
Подправте кто соблаговолит, либо предложите альтернативный вариант.
0
|
||||||
| 05.07.2011, 08:25 | |
|
Ответы с готовыми решениями:
13
Определить разрядность целого числа, использовать битовый сдвиг вправо.Подсчитать количество единичных разрядов, |
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
||||||
| 05.07.2011, 08:30 | ||||||
|
Ну хоть книжку-то почитай, как на С++ пишется...
![]()
1
|
||||||
|
1 / 1 / 0
Регистрация: 18.04.2011
Сообщений: 9
|
|
| 05.07.2011, 08:32 [ТС] | |
|
не подскажите еще случаем, как это в виде функции оформить? ( .h )
0
|
|
|
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 5
|
||||||
| 10.11.2015, 13:48 | ||||||
|
все работает, определяет разрядность 32 разрядного числа и делит и находит (2^30)/x
будем добавлять до миллиона скажем 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 с точностью до шестого знака ![]() и при таких вычислениях мы не применяли умножений только суммы и разности
0
|
||||||
|
77 / 13 / 11
Регистрация: 23.10.2015
Сообщений: 83
|
|
| 10.11.2015, 15:15 | |
|
к слову самый быстрый способ узнать число десятичных цифр -- это сравнить по-очереди с числами 9, 99, 999, 9999... Если речь не идет о каких-то специфических процессорах
0
|
|
|
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
|
||
| 10.11.2015, 15:23 | ||
|
спустя 4 года британские ученые нашли ответ на вопрос King_IgorEfimoV
Добавлено через 1 минуту
0
|
||
|
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 5
|
|
| 10.11.2015, 16:04 | |
|
Вобщето нет , для 32 разрядного числа как видишь 6 проверок
а для 64 разрядного будет 7 посмотри внимательнее этот способ куда быстрее чем проверять 9 , 99 ... так как у 64 разрядного числа уже 19 знаков , а значит надо будет целых 19 проверок в то время как в моем случае это будет всего 7 Добавлено через 1 минуту да и не всегда нужно проверять разрядность именно десятичного, чаще нужно проверить именно двоичную разрядность Добавлено через 12 минут ты даже не обратил внимание на тот факт что тут произведено деление 16 разрядного числа помещенного в 32 разрядное 1 умножение +100 сумм = 132 суммы 16*16=256 т.е. разница в 2 и больше раз, да и точность в 32 разряда не малая для простых процессоров таких как на видеокарте это ускорит паралельное деление в 2 раза для 32 разрядных чисел где применяется только 16 разрядов А если взять 64 разрядный процессор там 20 знаков есть место для шага Число сумм возростет вдвое витоге это будет 164 суммы для 32 разрядов из 64 а 32*32 = 1024 1024/164 = 6.24 раз ускориться, это огромные числа с огромной точностью и в 6 раз быстрее
0
|
|
|
166 / 69 / 17
Регистрация: 22.03.2011
Сообщений: 196
|
||||||
| 10.11.2015, 16:30 | ||||||
|
King_IgorEfimoV,
2
|
||||||
|
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 5
|
||||||
| 10.11.2015, 16:34 | ||||||
|
да кстати я чета перебрал с суммами где их и не надо было
я еще подускорил алгоритм
0
|
||||||
|
77 / 13 / 11
Регистрация: 23.10.2015
Сообщений: 83
|
|
| 10.11.2015, 16:51 | |
|
Bogdan1986, Dimension, а вот и не быстрее
0
|
|
|
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
|
|
| 10.11.2015, 17:08 | |
|
ishellstrike, статья с 13 минусами меня не впечатляет
0
|
|
|
77 / 13 / 11
Регистрация: 23.10.2015
Сообщений: 83
|
|
| 10.11.2015, 17:20 | |
|
Dimension, в таком случае рекомендую самостоятельные тесты
0
|
|
|
0 / 0 / 0
Регистрация: 10.11.2015
Сообщений: 5
|
||||||
| 10.11.2015, 18:21 | ||||||
|
если ты хочешь только разрядность найти а 1/x не нужен то тебе только вот эта часть кода нужна
0
|
||||||
| 10.11.2015, 18:21 | |
|
Помогаю со студенческими работами здесь
14
Как определить разрядность .EXE или .DLL? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В качестве. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|