Преобразование шестнадцатеричной записи в широтные часы и минуты - PullRequest
1 голос
/ 03 мая 2010

Дано:

  • 0x12E7 представляет 48 ° 39 '
  • 0x3026 представляет 123 ° 26 '

Какой самый эффективный способ позволяет преобразовать представление этих широт в две переменные:

  • часов
  • минут

Где первый пример будет:

  • часов = 48
  • минут = 39

И второй пример:

  • часов = 123
  • минут = 26

Редактировать

Широта int.

Ответы [ 3 ]

1 голос
/ 03 мая 2010
hours = 0x12E7 / 100;
minutes = 0x12E7 % 100;
1 голос
/ 03 мая 2010
int l = 0x12E7;
int h = l / 100;
int m = l % 100;
System.out.printf("%d°%d'", h, m); // 48°39'
1 голос
/ 03 мая 2010

Если у вас есть значение String:

int i = Integer.parseInt("12E7", 16);
int hours = i / 100;
int minutes = i % 100;

Или вы можете использовать формат 0x... напрямую:

* +1007 *
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...