A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
ANDROID_ITIS / Tasks.md
- Go to file T
- Go to line L
- Copy path
- Copy permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cannot retrieve contributors at this time
78 lines (50 sloc) 2.53 KB
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents Copy raw contents
Copy raw contents
Даны 2 целых числа: A и B. Требуется вычислить их сумму.
Входные данные: Во входном потоке в единственной строке через пробел записаны два целых числа: A и B (−10^9≤a,b≤10^9).
Выходные данные: В выходной поток следует записать единственное целое число — сумму чисел A и B.
For example: Input Result 2 3 5 17 -18 -1
##1.2 Следующее четное Дано целое число n. Выведите следующее за ним четное число. При решении этой задачи нельзя использовать условную инструкцию if и циклы.
Урок 13. Основы Java. Методы обратного вызова (callback)
Входные данные: Вводится натуральное число.
Выходные данные: Выведите ответ на задачу.
For example: Input Result 7 8 8 10
##1.3.1 Задание по Android-практикуму
«Раскрасьте» TestPlatform по-своему.
##1.3.2 Младшая цифра числа Дано натуральное число N. Требуется определить младшую цифру в десятичной записи числа N. Входные данные
Во входном потоке в единственной строке записано натуральное число N (1≤N≤10^9). Выходные данные
В выходной поток следует записать единственное целое число — младшую цифру в десятичной записи числа N.
For example: Input Result 560 0 234 4
##1.4 Обнулить последние биты
Напишите программу, которая обнуляет заданное количество последних бит числа. Входные данные
Во входном потоке в единственной строке через пробел записаны два целых числа A (−2^31≤A≤2^31−1) и i (0≤i≤32). Выходные данные
В выходной поток следует записать единственное целое число — число A, у которого обнулены последние i бит.
For example: Input Result 5 1 4 5 2 4
Источник: github.com
Как я могу эффективно обнулить последние 32 бита двойного числа в java?
Как я могу максимально эффективно обнулить последние 32 бита двойного числа в java?
user1214927 16 Май 2014 в 21:48
Почему вы хотите обнулить последние 32 бита двойного числа?
16 Май 2014 в 21:48
But I’m Not A Wrapper Class
16 Май 2014 в 21:50
Вы бы не хотели этого на двойнике, поскольку двойник кодируется как коэффициент и показатель степени. Выполнение побитовой операции над двойным вряд ли даст вам ожидаемый результат. В зависимости от диапазона значений может работать масштабирование до числа с плавающей запятой или преобразование числа в фиксированную точку.
Шок! 0.2 + 0.1 не равно 0.3! BigDecimal/BigInteger
16 Май 2014 в 21:56
Вы всегда можете сделать a = Double.longBitsToDouble(Double.doubleToLongBits(a)
16 Май 2014 в 21:58
Игнорируйте мой последний комментарий. этот вопрос должен помочь вам преобразовать двойные числа в биты. Таким образом, вы можете использовать некоторые побитовые операторы, а затем преобразовать их обратно в двойные. stackoverflow.com/questions/4211095/xoring-two-doubles -в Java
But I’m Not A Wrapper Class
16 Май 2014 в 22:00
2 ответа
private static final long ZERO_OUT_LAST_32_BITS = 0xffffffff00000000L; public static void main(String[] args)
Он обнуляет последние 32 бита двоичного представления вашего двойника, используя бинарное И операция.
Тем не менее, убедитесь, что вы точно знаете, что и почему вы делаете — я бы, по крайней мере, ожидал поясняющего комментария рядом с таким кодом.
Petr Janeček 16 Май 2014 в 22:08
Преобразовать в long и замаскировать нужные биты, преобразовать обратно:
long l = Double.doubleToLongBits(); l double truncated = Double.longBitsToDouble(l);
Хотя я не уверен, чего вы пытаетесь добиться этим.
Источник: question-it.com
Как я могу эффективно обнулить последние 32 бита double в java?
Как я могу обнулить последние 32 бита double, в java, насколько это возможно?
спросил(а) 2014-05-16T20:48:00+04:00 9 лет назад
добавить комментарий
пожаловаться
Попробуй это.
private static final long ZERO_OUT_LAST_32_BITS = 0xffffffff00000000L;
Он обнуляет последние 32 бита двоичного представления вашего двойника, используя двоичную операцию AND. Тем не менее, убедитесь, что вы точно знаете, что и почему вы делаете — я бы по крайней мере ожидал объяснительного комментария рядом с таким кодом.
ответил(а) 2014-05-16T20:58:00+04:00 9 лет назад
добавить комментарий
пожаловаться
Преобразуйте в длинный и замаскируйте нужные биты, конвертируйте назад:
long l = Double.doubleToLongBits();
l
double truncated = Double.longBitsToDouble(l);
Хотя я не уверен, что вы пытаетесь достичь этого.
ответил(а) 2014-05-16T20:58:00+04:00 9 лет назад
добавить комментарий
пожаловаться
Еще в рубрике
BIT заполняет неиспользуемое пространство за 1 байт?
выполнение бит-мудрый И с int и сдвигом
Могу ли я объявить таблицу бит?
Левый сдвиг некоторых бит в существующее число
Другие вопросы
Получение 16 младших и наиболее значимых бит произвольного двоичного числа
Разница между числами и буквами в двоичном формате
Как найти наиболее доминирующий бит позиции в данном наборе чисел?
- Вопросы
- Bit
- Как я могу эффективно обнулить последние 32 бита double в java?
Источник: progi.pro