Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/47: Рейтинг темы: голосов - 47, средняя оценка - 4.87
 Аватар для ArtLext
5 / 2 / 0
Регистрация: 14.05.2013
Сообщений: 109

Конвертор целых чисел в двоичную систему

28.04.2019, 05:24. Показов 9067. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите решить задачу!

Задача 1 - Конвертор целых чисел в двоичную систему
В среде «NetBeans».
- Создайте статический метод «getBinary», который получает целочисленный параметр «num» и возвращает строку.
• в этом методе создайте строковую переменную. Подсказка, использовать класс StringBuilder.
• реализуйте цикл для анализа всех битов 4-х байтной переменной
• в цикле проверяйте состояние самого младшего бита в переменной «num»(для проверки можно выполнить следующую битовую операцию: num&1 ) и если
там окажется true, то к строковой переменной добавьте «1», если false – «0».
• выполните сдвиг переменной «num» на одну позицию вправо
• при значениях счётчика цикла равным 7, 15 и 23 добавьте к строковой переменной пробел
• после цикла зеркально отобразите строку и верните её и этого метода.
- Вызовите метод «getBinary» из «main» и распечатайте результат.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.04.2019, 05:24
Ответы с готовыми решениями:

Перевод целых неотрицательных чисел с десятичной системы счисления в двоичную систему счисления
Перевод целых неотрицательных чисел с десятичной системы счисления в двоичную систему счисления.

Перевод целых положительных чисел из десятичной системы счисления в двоичную систему счисления
Помогите, пожалуйста, реализовать данную задачу: "Перевод целых положительных чисел из десятичной системы счисления в двоичную систему...

Перевод чисел в двоичную систему счисления, сложение чисел в двоичной системе
Задание 7 Задания к работе 1. Перевести данное число из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы...

5
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
28.04.2019, 10:17
по шагам все расписано, что непонятно?
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
28.04.2019, 12:18
Лучший ответ Сообщение было отмечено ArtLext как решение

Решение

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Binary {
    static String getBinary(int number) {
        StringBuilder sb = new StringBuilder();
        for (int index = 0; index <= 31; index++) {
            sb.append(number & 1);
            number >>= 1;
            if (index != 31 && (index + 1) % 8 == 0) {
                sb.append(" ");
            }
        }
        return sb.reverse().toString();
    }
}
 
class BinaryTest {
    public static void main(String[] args) {
        int[] arr = {-2, 2, 127, 32456,  -53672};
        for (int num : arr) {
            System.out.println("Number = " + num + "; binary = " + Binary.getBinary(num) + ";");
        }
    }
}
Добавлено через 57 секунд
вывод:
Code
1
2
3
4
5
6
7
Number = -2; binary = 11111111 11111111 11111111 11111110;
Number = 2; binary = 00000000 00000000 00000000 00000010;
Number = 127; binary = 00000000 00000000 00000000 01111111;
Number = 32456; binary = 00000000 00000000 01111110 11001000;
Number = -53672; binary = 11111111 11111111 00101110 01011000;
 
Process finished with exit code 0
1
 Аватар для ArtLext
5 / 2 / 0
Регистрация: 14.05.2013
Сообщений: 109
28.04.2019, 12:33  [ТС]
ArtemFM, спасибо за ваш ответ. Пытаюсь разобрать код по условию, и не понимаю где выполняется например вот это действие - при значениях счётчика цикла равным 7, 15 и 23 добавьте к строковой переменной пробел
0
 Аватар для ArtemFM
746 / 493 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
28.04.2019, 12:48
7 15 23 - какая взаимосвязь этих цифр?

7 + 1 = 8; 15 + 1 = 16; 23 + 1 = 24;
все они становятся числами, которые делятся на 8

if (index != 31 && (index + 1) % 8 == 0)

% 8 - получить остаток от деления

если число к примеру 6: (6 + 1) % 8 = 7 (остаток будет 7)

а вот (7 + 1) % 8 = 0; (15 + 1) % 8 = 0; (23 + 1) % 8 = 0

index != 31 - это тоже бы подошло под условие: (31 + 1) % 8 = 0 (Но нам не нужен в начале строки пробел, поэтому исключили этот вариант)

Добавлено через 4 минуты
если хочешь, можешь эту строку
Java
1
if (index != 31 && (index + 1) % 8 == 0) {
заменить на
Java
1
if (index == 7 || index == 15 || index == 23) {
Добавлено через 4 минуты
и кстати, num & 1 - не возвращает true или false.
Он возвращает либо 1 либо 0. В зависимости, какой бит последний у числа на данный момент.
поэтому можно сразу
Java
1
2
   sb.append(number & 1); //прибавили сразу то, что пришло из number & 1 (0 или 1) 
   number >>= 1;             // сдвинули число вправо на 1 позицию
1
 Аватар для ArtLext
5 / 2 / 0
Регистрация: 14.05.2013
Сообщений: 109
28.04.2019, 13:03  [ТС]
ArtemFM спасибо за разъяснение, с этим понял. Дай бог тебе здоровья умный человек!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.04.2019, 13:03
Помогаю со студенческими работами здесь

Перевод чисел в двоичную систему
есть код. умножаю два числа. ответ заносится в ах, но в шестнадцатеричной системе. как сделать так чтобы выводил в двоичной? скажите...

Перевод чисел в двоичную систему
В одной из многочисленных пещер Миртаны Безамянный встретил мага огня по имени Аркон. Аркон обладает древним артефактом, однако отдать его...

Перевод чисел в двоичную систему в Delphi
Помогите пожалуйста составить программу в виде консольного приложения для перевода чисел в двоичную систему из десятичной в Delphi.

Перевод вещественных чисел в двоичную систему
Здравствуйте, участники форума. Есть ли функция в matlab, аналогичная dec2bin только для вещественных чисел. функция dec2bin работает...

Конвертация чисел из десятичной в двоичную систему
Здравствуйте, недавно изучаю Lua и столкнулась со следующей проблемой. Мне надо из десятичной системы перевести числи в двоичную и вывести...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru