2013-12-23 1 views
-1

저는 첫 해 comp sci 수업을 듣고 있는데 Drjava을 사용하고 있습니다. 나는 사용자가 두 개의 숫자를 입력 할 수있는 할당을 가지고 있는데, 모두 0에서 255까지 이진수로 변환하고이 숫자를 더한 다음 합계의 이진 버전을 출력합니다.어떻게 리턴 메소드를 사용하여 정수를 2 진수로 변환합니까?

내 프로그램은 다음과 같은 방법을 포함한다 :

int[] convertToBinary(int b): 

이진 값 파라미터를 변환하며 int 배열로서 저장 복귀한다.

void printBin(int b[]): 

어레이에 저장된 이진수를 한 줄로 출력합니다.

int[] addBin(int a[], int b[]): 

배열에 저장된 두 이진수를 더하고 새 정수 배열로 반환합니다.

나는 2 진수 배열을 생성해야한다고 생각하지만 확실하지 않습니다. 그렇다면 반환 메서드에서 배열을 사용하는 방법을 알 수 없습니다. 이 임무를 수행하는 방법에 대한 아이디어가 있습니까? 감사.

+2

어쩌면 당신은 언젠가 시도해보고 싶을 수도 있습니다. 그리고 그렇지 않다면 작은 부분을 게시하십시오. 모든 기능을 갖춘 숙제 답변을 얻을 때까지 반복하십시오 ... –

+0

또한 최근 질문을보고 문제 해결을위한 정답을 표시하여 다른 사람들을 도울 수 있도록하십시오. – Rawa

+0

int는 이미 대부분의 하드웨어 플랫폼에서 이진수입니다. 설명에서 원하는 것이 2 진의 문자 표현인지 또는 단순히 2 진수를 일종의 배열로 맵핑하는지 여부는 분명하지 않습니다. 배열의 경우 0/1 값 또는 다른 배열을 사용해야합니까? (그리고 Java에서 객체를 반환하는 것처럼 배열을 반환합니다.) –

답변

1

나는 과제를 읽을 havn't는하지만 방법에서 당신은 당신이 가장 가능성이 당신이

따라서 8 비트 = 255 크기 (8)의 배열의 진수를 저장해야한다고 가정 할 수있다 제공했다.

과제를 해결하려면 배열을 만들고 마법적인 방법으로 숫자를 각 비트 b7에서 b0으로 변환하여 시작하십시오. 다음과 같은 형식으로 배열의

생각한다 bX가 0 또는 1

이 문제를 해결하는 여러 가지 방법이 있습니다, 당신은 정수에 toBinaryString 방법을 사용할 수있다

[b7, b6, b5, b4, b3, b2, b1, b0] 

그런 다음 텍스트를 파싱합니다.

또는 if 문과 루프를 사용하여 간단한 솔루션을 만들 수 있습니다.

일부 코드를 작성하여 문제를 해결하고 나머지를 매우 빨리 해결할 수 있어야합니다. 정수를 int 배열로 변환하면 두 이진수 등을 추가하는 것이 쉬워야합니다.

관련 문제