ENDIAN 문제 질문 드립니다....

  • tjtjdgur34
    tjtjdgur34

    java로 문제를 풀었습니다. unsigned int로 인해 범위부분에 있어... 실행이 되지 않아서 도움 구합니다...

    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            int num = scan.nextInt();
    
            String cBinary = Integer.toString(num, 2);
    
            int check = 32 - cBinary.length();
            if(check > 0) {
                for(int i = 0; i < check; i++)
                    cBinary = '0' + cBinary;
            }
    
            char[] aBinary = cBinary.toCharArray();
            System.out.println(aBinary);
    
            String[] fourABinary = new String[4];
            int which = 0;
    
    
            for(int i = 0; i < 32; i++) {
                if(i % 8 == 0) {
                    if(i != 0)
                        which++;
                    fourABinary[which] = aBinary[i]+"";
                }
                else
                    fourABinary[which] += aBinary[i]+"";
            }
    
            String convert = new String();
            convert = fourABinary[3]+"";
    
            for(int i = 2; i >= 0; i--) {
                System.out.println(convert);
                convert += fourABinary[i]+"";
            }
            System.out.println(convert);
            System.out.println(Integer.parseInt(convert, 2));
    
        }
    }
    

    7년 전
2개의 댓글이 있습니다.
  • Corea
    Corea

    질문이 무엇인지 모르겠습니다. 그래서 무엇을 원하시나요?


    7년 전 link
  • hyunhwan
    hyunhwan

    unsigned int가 필요하다면 long형을 써보시는건 어떨까요? 그리고 앞에 Corea님 말대로 질문이 모호하네요.


    7년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.