|
0 / 0 / 0
Регистрация: 11.07.2019
Сообщений: 2
|
||||||
Перевод из двоичной системы счисления в десятичную11.07.2019, 23:56. Показов 17622. Ответов 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
|
|
|
2745 / 2054 / 507
Регистрация: 17.02.2014
Сообщений: 9,473
|
||||||
| 15.07.2019, 09:29 | ||||||
|
Не по теме: Gungala, навеяло)
1
|
||||||
| 15.07.2019, 09:29 | |
|
Помогаю со студенческими работами здесь
18
Перевод из двоичной системы счисления в десятичную
Перевод из двоичной системы счисления в десятичную Перевод из двоичной системы счисления в десятичную Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|