powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Оператор >>>
6 сообщений из 6, страница 1 из 1
Оператор >>>
    #39755533
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот такой вот код приводит
Код: java
1.
2.
3.
4.
5.
6.
		System.out.println(Long.toBinaryString(-1));
		System.out.println((Long.toBinaryString(-1 >>> 1)));
		System.out.println((Long.toBinaryString(-1 >>> 2)));
		System.out.println((Long.toBinaryString(-1 >>> 3)));
		System.out.println((Long.toBinaryString(-1 << 1)));
		System.out.println((Long.toBinaryString(-1 << 2)));


к следующему выводу:

автор1111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111
111111111111111111111111111111
11111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111110
1111111111111111111111111111111111111111111111111111111111111100

Поведение последних двух строк понятно.
Разница второй и третьей, третьей и четвертой тоже понятно.
а вот как из первой получается вторая совсем не понятно

Объясните, пожалуйста.
...
Рейтинг: 0 / 0
Оператор >>>
    #39755534
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Объясните, пожалуйста.хочется long - нужно букву L дописывать.
...
Рейтинг: 0 / 0
Оператор >>>
    #39755540
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Поведение последних двух строк понятно.
Было бы понятно, вопросов бы не возникло.

Автору копать так - разобрать подробно, какие типы и в каких операциях участвуют. Далее понять, чем отличается >> от >>>, далее прокручивать в мозгах последовательность операций до тех пор, пока результат не сойдётся с логом программы.
...
Рейтинг: 0 / 0
Оператор >>>
    #39755542
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть 2 типа людей

как Андрей Панфилов - помог и объяснил - спасибо.

А есть как alex55555
...
Рейтинг: 0 / 0
Оператор >>>
    #39755545
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хотя всё же непонятно почему сдвиг интежера влево возвращает 64 бита
...
Рейтинг: 0 / 0
Оператор >>>
    #39755609
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90хотя всё же непонятно почему сдвиг интежера влево возвращает 64 битане возвращает. В вашем коде "-1 >>> 1" даже не вычисляется в рантайме - это константа в байткоде 2147483647L, если вы напишите метод, чтобы сделать -1 "динамическим", то получите Widening Primitive Conversion
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Оператор >>>
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]