Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Оператор >>> / 6 сообщений из 6, страница 1 из 1
02.01.2019, 17:40
    #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
02.01.2019, 17:49
    #39755534
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор >>>
redwhite90Объясните, пожалуйста.хочется long - нужно букву L дописывать.
...
Рейтинг: 0 / 0
02.01.2019, 18:05
    #39755540
alex55555
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оператор >>>
redwhite90Поведение последних двух строк понятно.
Было бы понятно, вопросов бы не возникло.

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

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

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


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