![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Antropoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: 2 Всего: 16 |
После сдвига на 1 бит влево хочу отбросить старшие 4 байта от long. Пишу
выдается S1 = 11111111111111111111111111111111 S2 = 111111111111111111111111111111110 в S2 должно быть на одну единичку меньше, или я ошибся? -------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Программа работает именно так как ты написал, а не так как ты подразумевал Ошибка в:
у тебя производится операция & с long и int (0xFFFFFFFF - это литеральная константа int), соответсвенно операнд int приводится к long. А если 0xFFFFFFFF расширить до long, то получим 0xFFFFFFFFFFFFFFFFL (расширение ведь знаковое). Правильно делать так:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |