![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 10.10.2008
Сообщений: 123
|
![]()
Всем привет. Изучаю java. Начал изучение с сайта javarush.ru
Разбираюсь сейчас с темой преобразования и сужения типов. Начал разбираться вот с таким примером: Код:
Судя по лекциям на javarush на 10 уровне, то там написано, что переменная типа byte занимает всего один байт памяти. Поэтому из этого числа берем последние восемь цифр: 1000010001110100011010111000111 Получилось такое число в двоичной системе: 11000111. В десятичной системе данное число равно 199. Далее из 199 отнимаем 256. Получится -57. Компилятор так и выводит. С этим я разобрался. Далее разбираю следующий похожий пример: Код:
Подскажите, почему во втором примере компилятор вывел -1 ??? P.S. Строго не судите) Java где-то месяц изучаю) Последний раз редактировалось StudentMarat; 09.07.2017 в 22:07. |
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
![]()
Какая-то математика у вас не понятная...
Вот на С++ Код:
Цитата:
|
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 10.10.2008
Сообщений: 123
|
![]() Цитата:
Может, конечно, я и что-то не правильно понимаю, но всю свою логику (как я понял тему) я расписал. Не знаю, правильная она или нет. Вот и хочу выяснить. Вот что мне вывел компилятор во втором моем примере (пользуюсь средой intellij idea): |
|
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
![]()
Оно в обоих случаях не работает
Цитата:
|
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
![]() Код:
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 10.10.2008
Сообщений: 123
|
![]()
Вот что в первом случае выводится у меня. Второй сообщением выше
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
![]()
Перестаньте скрины лепить - копируйте нормально текст. Из-за скринов вы вон сообщение выше пропустили.
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
![]()
Вопщем трюк с отбрасыванием дроби не совсем корректен. Как видим работает только при одинаковой длине типа. Т.е. double = 8 байт, значит верно будет (long) = 8 байт. Лучше использовать методы классов:
https://stackoverflow.com/questions/...nteger-in-java |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 12.04.2017
Сообщений: 889
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Преобразование к int (java) | zhenya.ya | Помощь студентам | 1 | 10.12.2011 11:46 |
Растягивание/сужение формы | Ko$ | Общие вопросы Delphi | 2 | 30.10.2011 12:53 |
преобразование чисел(delphi) | mineralkaaa | Помощь студентам | 4 | 18.05.2010 13:00 |
Преобразование чисел | artemavd | Общие вопросы Delphi | 15 | 30.07.2008 15:48 |
Преобразование дробных чисел | Gon | Помощь студентам | 5 | 01.05.2008 13:12 |