powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Подсчет символов со знаком "минус"
9 сообщений из 9, страница 1 из 1
Подсчет символов со знаком "минус"
    #40103849
Piastry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если считать символы большого текстового файла, получается значение со знаком "минус"? Почему?
...
Рейтинг: 0 / 0
Подсчет символов со знаком "минус"
    #40103853
Потому же что когда на счетчике 9999, то следующим значением будет 0000. См Integer overflow .
...
Рейтинг: 0 / 0
Подсчет символов со знаком "минус"
    #40103858
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Piastry
Если считать символы большого текстового файла, получается значение со знаком "минус"? Почему?


Потому что Integer?!
<:o)
...
Рейтинг: 0 / 0
Подсчет символов со знаком "минус"
    #40103861
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2х гигабайтный текстовый файл. Бич старых файловых систем и 32х разрядных операционок.
...
Рейтинг: 0 / 0
Подсчет символов со знаком "минус"
    #40103864
Piastry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Файл 4,5 гига. Строки, слова подсчитались без минуса. Там вышло несколько милионов. Значение числа символов (-1.6 млрд). Как решить проблему с минусом?
...
Рейтинг: 0 / 0
Подсчет символов со знаком "минус"
    #40103871
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Замени int на long.
...
Рейтинг: 0 / 0
Подсчет символов со знаком "минус"
    #40103873
Piastry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Заработало.
...
Рейтинг: 0 / 0
Подсчет символов со знаком "минус"
    #40103875
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотри только не бери этот совет за чистую монету. А то будешь потом везде заменять....
...
Рейтинг: 0 / 0
Подсчет символов со знаком "минус"
    #40104007
faustgreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У типа int диапазон значений от -2 147 483 648 до 2 147 483 647.
Для подсчета символов ты используешь положительные часть этого диапазона, т.е. от 0 до 2 147 483 647.
Получается, что используя переменную типа int, корректно посчитать размер файла в символах можно только его размер не превышает
2 147 483 647 символов.
Если к максимальному значению типа int прибавить, например, единицу, то мы сместимся в начало диапазона, т.е. в отрицательные значения.

Кроме того, иногда, когда размер твоего файла в символах больше чем 2 147 483 647 ты можешь получить положительное зачение, но оно будет неверным. Например:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
	public static void main(String[] args) {
		
		int startVal = 0;
		int maxVal = 2_147_483_647; 
		System.out.println(startVal + 2 * maxVal + 5); // 0 + 2* 2_147_483_647 + 5 = 3

		
	}
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Подсчет символов со знаком "минус"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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