|
0 / 0 / 0
Регистрация: 11.07.2019
Сообщений: 2
|
||||||
Перевод из двоичной системы счисления в десятичную11.07.2019, 23:56. Показов 17693. Ответов 17
Метки нет (Все метки)
Добрый день,
Необходимо ввести с консоли число в бинарном формате. Перевести его в десятичный формат, записать в переменную int и вывести на экран. Необходимо использовать циклы, нельзя использования готовые методы языка Java, для перевода числа из одной системы счисления в другую. На текущий момент имею код , но использовать math.pow запретили, подскажите как заменить и реализовать
0
|
||||||
| 11.07.2019, 23:56 | |
|
Ответы с готовыми решениями:
17
Перевод из двоичной системы счисления в десятичную |
|
345 / 141 / 51
Регистрация: 02.12.2015
Сообщений: 333
|
|
| 12.07.2019, 00:28 | |
|
степень двойки заменяется сдвигом:
1 << i
0
|
|
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
||||||
| 12.07.2019, 00:51 | ||||||
|
А я бы вот так сделала:
Добавлено через 5 минут Ну, еще конечно сначала бы убрала любые символы отличные от 0 и 1
1
|
||||||
|
0 / 0 / 0
Регистрация: 11.07.2019
Сообщений: 2
|
|
| 12.07.2019, 00:55 [ТС] | |
|
Спасибо за помощь!!!
0
|
|
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|||||||||||
| 12.07.2019, 03:44 | |||||||||||
|
Решила проверить какой код выполняется быстрее. Со сдвигом, или как у меня. Думалось, что сдвиг будет все-таки эффективнее. Но оказалось, что нет. Со сдвигом выполняется почти в два раза медленнее.
И еще выяснила такую интересную особенность: "в Java есть понятие warming, то есть разогрев. Любой метод начинает исполнятся в интерпритируемом режиме, медленно. И только через некоторое время, когда JIT поймет что участок кода используется интенсивно, он будет закомпилирован." Следовательно, нельзя испытывать два сравниваемых кода вместе. Первое испытание длится почти на порядок дольше, чем остальные (См. результат) Поэтому я реализовала так, каждый код испытывается отдельно от другого десять раз, и берется среднее время выполнения для каждого кода. А уже потом результаты сравниваются. Кликните здесь для просмотра всего текста
Добавлено через 1 час 1 минуту И что еще интересно. Чем больше испытаний проводить за одно выполнение программы, тем существеннее снижается время выполнения кода в каждой итерации. Я установила 1000 испытаний и получила такие результаты по отдельным испытаниям: Испытание #1: 13955 нс. Испытание #100: 2888 нс. Испытание #1000: 962 нс.
1
|
|||||||||||
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|
| 12.07.2019, 03:53 | |
|
График времени выполнения:
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 12.07.2019, 06:47 | |
|
alicesmagic3d, прочитай что такое jmh и поищи почему его используют
1
|
|
|
345 / 141 / 51
Регистрация: 02.12.2015
Сообщений: 333
|
||||||
| 12.07.2019, 10:01 | ||||||
|
со сдвигом не нужно каждый раз рассчитывать показатель степени, нужно на каждой итерации на один бит сдвигать и устанавливать младший бит, если единица в строке:
2
|
||||||
|
|
||||||
| 12.07.2019, 12:16 | ||||||
|
Вряд ли это лучше предыдущего варианта, но мне прост хотелось попытаться сделать это через стрим
0
|
||||||
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 12.07.2019, 12:23 | |
|
0
|
|
|
|
|
| 12.07.2019, 13:19 | |
|
xoraxax, прост.chars() даёт стрим, состоящий из этих самых code points или что-то вроде того и их всё равно пришлось бы преобразовывать, поэтому я выбрал вариант, который выглядит красивше
Добавлено через 42 секунды Не очень разумно, согласен
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
||||||
| 12.07.2019, 13:31 | ||||||
|
Gungala,
2
|
||||||
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
||
| 12.07.2019, 15:08 | ||
|
Так-то я понимаю, что мои измерения очень грубые. Но, мне думается, что их вполне достаточно чтобы сравнить время выполнения двух похожих алгоритмов, реализованных разными способами. Вариант от Lumber со сдвигом работает быстрее, чем мой со сдвигом, но немного медленнее, чем мой без сдвига. Вариант от Gungala работает в 50 раз медленнее, а в вашей редакции этот алгоритм ускоряется примерно в 8 раз. Из статьи следует вывод, что "Замер скорости работы цикла с N итерациями подопытной функции, зачастую приводит к ошибочным суждениям". Поэтому, все мои утверждения относительно времени выполнения разных вариантов, конечно же, не претендуют на истину и не призваны никого критиковать, хоть и кажутся мне достаточно убедительными
0
|
||
|
345 / 141 / 51
Регистрация: 02.12.2015
Сообщений: 333
|
||
| 12.07.2019, 16:28 | ||
|
Таймер хоть и выдает наносекунды, но его реальная разрешающая способность гораздо хуже.
и соответственно есть большая погрешность только из-за этого.
1
|
||
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|
| 12.07.2019, 19:28 | |
|
0
|
|
|
2759 / 2066 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
|
||||||
| 15.07.2019, 09:29 | ||||||
|
Не по теме: Gungala, навеяло)
1
|
||||||
| 15.07.2019, 09:29 | |
|
Помогаю со студенческими работами здесь
18
Перевод из двоичной системы счисления в десятичную
Перевод из двоичной системы счисления в десятичную Перевод из двоичной системы счисления в десятичную Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Памятка для бота и "визитка" для читателей "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
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|