어떻게 이진 분수 또는 16 진수 소수로 변환 할 수 Java?Java에서 이진수를 16 진수로 변환하는 방법은 무엇입니까?
그 알고리즘은 무엇입니까?
예를 들어 (11.110) 2를 (3.C) 16
으로 변환하고 16 진수 분수를 보유 할 필요가 있습니까?
PLZ 도움이됩니다. 감사합니다. .
어떻게 이진 분수 또는 16 진수 소수로 변환 할 수 Java?Java에서 이진수를 16 진수로 변환하는 방법은 무엇입니까?
그 알고리즘은 무엇입니까?
예를 들어 (11.110) 2를 (3.C) 16
으로 변환하고 16 진수 분수를 보유 할 필요가 있습니까?
PLZ 도움이됩니다. 감사합니다. .
이 답변은 하나의 기수를 다른 기수로 변환하는 완전히 작동하는 프로그램을 만드는 방법에 대한 완전한 안내서가 될 수는 없지만 내장형 편집기를 사용하려면 대부분의 단계를 언급합니다. 사용할 수있는 방법.
부동 소수점 숫자를 변환하는 기본 제공 방법은 없지만 정수를 2-36 사이의 임의의 기수와 /로 변환하는 기본 제공 방법이 있습니다. 이진수와 16 진수 사이의 변환 만하면되고 수동으로 수행 할 수도 있습니다 (아래 줄을 더 아래에서보십시오). 그렇지 않으면이 방법을 사용하는 것이 좋습니다.
숫자 (String
-representation)에서 기수 점 .
을 제거하면 전체 숫자가 표시되지만 기수 점의 오른쪽에 몇 자리 숫자가 있는지 추적합니다.
Integer.parseInt(String val, int radix)
이 int
로 변환됩니다 여기에 어떤 기수와 String
에서 정수로 변환하는 방법은 세 가지입니다.
Long.parseLong(String val, int radix)
은 long
으로 변환됩니다.new BigInteger(String val, int radix)
은 BigInteger
으로 변환됩니다.그런 다음 double
또는 BigDecimal
A를 숫자로 변환하고, 올바른 번호로 나누어, 제자리에서 기수 포인트를 얻을 수 있는지 확인해야합니다. 예를 들어 (1234) 6을 (12.34) 6으로 6 ÷ 6으로 나눌 수 있습니다.
이제 반쯤 완료되었으며 기본적으로 뒤로 이동하여 숫자를 String
(다른 기수)로 변환합니다.
String
에
int
/
long
/
BigInteger
에서 변환 할 단계
, toString
를 사용 int
에서
Integer.toString(int val, int radix)
변환합니다.Long.toString(long val, int radix)
는 long
으로 변환됩니다.val.toString(int radix)
은 (으)로 변환됩니다. BigInteger
기수 점을 다시 삽입해야합니다.
수동으로 2 진수에서 16 진수로 변환하려면 the same as you would do if they were whole numbers을 사용하고 차이는 거의 없습니다.
기수를 시작으로 왼쪽과 오른쪽으로 4 자리 연속으로 나눕니다. 필요에 따라 선행/후행 0을 추가하십시오. 나머지는 링크에서 설명한대로입니다.
예 : 101011.011
은 0010 1011 . 0110
으로 나뉘며 각 세트를 16 진수로 변환하면 2B.6
이됩니다.
시도해 본 샘플을 추가 할 수 있습니까? –
16 진수 분수 란 무엇입니까? 그것은 분자와 분모의 분수일까요? 따라서 Dec 10/11은 0xA/0xB가 될 것입니까? 문제를 더 잘 설명 할 수 있습니까? (또한 Java가 아니라 JAVA입니다.) –
알고리즘은 십진수 변환과 같습니다. 약간 최적화 할 수는 있지만 처음부터 똑같이 할 것입니다. –