Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Беззнаковые числа в Java, обоснование почему их нет 
:(
    Опции темы
UnicornMirage
Дата 5.5.2006, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 15.11.2005

Репутация: 1
Всего: 1



Здравствуйте, уважаемые участники форума и знатоки платформы Java.

Довольно часто мне приходится сталкиваться с проблемой - отсутствия в Java беззнакового int. И я не могу понять почему исключили данный (весьма удобный) тип. Например, также очень часто хотелось бы в программах использовать беззнаковый byte - и его тоже нет..
Почему так сделано? Есть ли этому обоснование?

 
PM MAIL   Вверх
ALKS
Дата 5.5.2006, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 1
Всего: 11



были такие компьютеры в незапамятные времена мэинфреймы "Минск", так вот процесорное двойное слово (DWORD)  там занимало 33 бита. 1 бит был зарезервирован под знак. подчеркиваю не на уровне OS а на уровне CPU. Мой учитель сталкивался с этими монстрами(откуда я и знаю) и расказывал что для своего времени это была замечательная система оптимизированная  для расчера всякой математики. Это как пример экзотической платформы. Далее мое ИМХО: в Java мало простых типов. собственно простых типов в Java не более чем необходимый минимум именно для того чтоб переносимость на экзотические платформы была по максимуму простой...  
PM   Вверх
COVD
Дата 5.5.2006, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



я читал, что беззнаковые удалены по той же причине, что и указатели - чтобы исключить ошибки, связанные с их использованием.    
PM MAIL   Вверх
chief39
Дата 5.5.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 15
Всего: 77



Цитата(UnicornMirage @  5.5.2006,  08:47 Найти цитируемый пост)
Довольно часто мне приходится сталкиваться с проблемой - отсутствия в Java беззнакового int.

Ну.... отсутствие - это ещё не проблема smile   Это может лишь быть причиной какой-либо проблемы smile

А какие именно проблемы возникают? 


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
UnicornMirage
Дата 5.5.2006, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 15.11.2005

Репутация: 1
Всего: 1



на самом деле проблемы как таковой не было smile просто однажды захотелось использовать 256 значений типа byte - а на практике так не получилось... пришлось использлвать отрицательный диапазон - в принципе ничего невозможного не было, но возник данный вопрос, наверное в силу старой привычки.. 
PM MAIL   Вверх
LSD
Дата 5.5.2006, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(chief39 @  5.5.2006,  17:59 Найти цитируемый пост)
А какие именно проблемы возникают?

Расширение до большего, всегда знаковое, вот и приходится постоянно b & 0xFF.
Плюс вот так нельзя:
Код
byte[] magic = {0xCA, 0xFE, 0xBA, 0xBE};

а надо:
Код
byte[] magic = {(byte)0xCA, (byte)0xFE, (byte)0xBA, (byte)0xBE};
 


--------------------
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.
PM MAIL WWW   Вверх
COVD
Дата 5.5.2006, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



char = беззнаковый byte 
PM MAIL   Вверх
w1nd
Дата 6.5.2006, 03:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 20
Всего: 54



Цитата
char = беззнаковый byte

Вообще-то в char вдвое больше бит, чем в byte. Но он действительно беззнаковый. 


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
chief39
Дата 6.5.2006, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 15
Всего: 77



Цитата(LSD @  5.5.2006,  23:11 Найти цитируемый пост)
Расширение до большего, всегда знаковое, вот и приходится постоянно b & 0xFF.
Плюс вот так нельзя:

Ну эт да... с этим немного помучился smile

Но это скорее неудобство.

Я имел в виду "проблему", которая означает, что что-то не выходит сделать... или сделать это очччень обходным путём smile
 


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0795 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.