forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Программирование (http://forum.boolean.name/forumdisplay.php?f=54)
-   -   восьмибайтовый тип (http://forum.boolean.name/showthread.php?t=7482)

Serg_Bloim 21.12.2008 21:52

восьмибайтовый тип
 
Есть ли в j2me тип, объемом 8 байт?
причина такова: хочу представить число в виде обыкновенной дроби, тоесть числитель и знаменатель - целые числа типа (int). Выходит, что получаемый тип должен иметь размер 8 байт.
У меня есть 2 варианта:
1)Использовать массив из двух элементов. Но я где-то читал, что в Джава массивы занимают больше места, чем просто их елементы вместе взятые, потому что в массивах еще хранится служебная информация... тоесть в массиве из двух интеджеров ненужная служебная инфа будет занимать значительное место по сравнению с полезной инфой.
2)Тип double. Читал, что в телефонах работа с плавающей точкой не поддерживается и все операции с плавающей точкой - это надстройка Джавы. Каковы последствия того, что я буду использовать тип double? Может от этого подключится миллион и одна библиотека или что-то в этом духе? Если так, то может кто-то подскажет альтернативу?

И еще вопрос: как можно определить количество реально выделенной под обьект памяти?

Romanzes 22.12.2008 00:26

Ответ: восьмибайтовый тип
 
Тип long кажется занимает 8 байт.
Цитата:

2)Тип double. Читал, что в телефонах работа с плавающей точкой не поддерживается и все операции с плавающей точкой - это надстройка Джавы. Каковы последствия того, что я буду использовать тип double? Может от этого подключится миллион и одна библиотека или что-то в этом духе? Если так, то может кто-то подскажет альтернативу?
Возможность работы с дробными числами появилась только в CLDC 1.1, т.е. это будет работать далеко не на всех телефонах, даже если тел поддерживает MIDP 2.0.

Serg_Bloim 22.12.2008 00:38

Ответ: восьмибайтовый тип
 
да, точно, в Джава он 8 байт занимает.
Я про него даже забыл. В C++ он 4 байта занимает.
Привычка)))

ASMjavaC 19.03.2009 14:53

Ответ: восьмибайтовый тип
 
1)Использовать массив из двух элементов. Но я где-то читал, что в Джава массивы занимают больше места, чем просто их елементы вместе взятые, потому что в массивах еще хранится служебная информация... тоесть в массиве из двух интеджеров ненужная служебная инфа будет занимать значительное место по сравнению с полезной инфой.
а переводить в строковый тип некатит?

ASMjavaC 19.03.2009 14:54

Ответ: восьмибайтовый тип
 
вопрос кстати принципиально какраз в другом как сделать BYTE тип - очень нужен

Phantom 19.03.2009 19:54

Ответ: восьмибайтовый тип
 
Цитата:

а переводить в строковый тип некатит?
со строками всё ещё печальнее, чем с массивом.
Цитата:

вопрос кстати принципиально какраз в другом как сделать BYTE тип - очень нужен
В Java есть тип byte.

По теме:
У меня как раз была идея написать класс для эмуляции дробных чисел путём использования первых 4 битов в long для хранения координат дробной точки в числе.


Часовой пояс GMT +4, время: 20:17.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot