컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post 윈도우 도스창에서 정규식 사용법 - Windows XP regex FINDSTR자바/Java] Exception in thread 'main' java.lang.NoCl...딜리셔스 팁] 태그(Tag) 분류, 카테고리(번들)로 묶기 - del.icio.us bun...[QnA] Pause / Break, Shift 키의 아스키코드(ASCII Code) 값은...자바/Java] 십진수를 이진수로 변환 - 10진수 / 2진수(Binary) 진법자바/Java] 10진수, 16진수로 변환 출력 - 십진수 십육진수(헥사;Hex)Perl/펄] 숫자 비교 예제, if문으로 - Compare Numbers펄/Perl] 문자열 비교, eq, ne / 정규식 비교 - Compare Strings ...자바/Java] 동적 배열 크기 확장 조절 / 숫자 문자열 혼합 배열 만들기 - Perli...자바/Java] 문자열 숫자 배열, 정렬(소팅;소트) 예제; Sort

자바/Java] 2진수, 8비트씩 나누어 출력, 앞쪽 공백 제로(0)로 채우기

Monday, September 25, 2006

▶▶ 자바/Java] 십진수를 이진수로 변환 - 10진수 / 2진수(Binary) 진법 <- 이 게시물의 이진수 출력은 앞의 빈 칸 (Leading Zeros) 을 0으로 채우지 않고, 그리고 32비트가 한덩어리로 되어 있어서 읽기에 불편합니다.

따라서 기다란 2진수 문자열을 8자씩 나누어,

01110100 01011011 00010001 10001010

이런 식으로 알기 쉽게 출력하는 프로그램을 만들어 보았습니다.


n 이라는 변수에, 필요한 int 정수 즉 32비트 정수를 기입하고 컴파일하면 결과가 나옵니다.


2진수 읽기 쉽게 출력


파일명: Foo.java
public class Foo {
  public static void main(String args[]) {

    int n = 1952125322;




    String s = "", s2 = "";

    for (int i = 0; i < Integer.numberOfLeadingZeros(n); i++) s += "0"; // 0을 빈자리 개수만큼 만들어 전진 배치
    s += Integer.toBinaryString(n); // 10진수를 2진수화하여 합치기

    for (int i = 0; i < 32; i+= 8) s2 += s.substring(i, i + 8) + " "; // 2진수를 8개씩 공백으로 나누어 묶기

    System.out.println(s2);



    // 출력 결과 예제
    //
    // 1952125322 의 이진수 출력: 01110100 01011011 00010001 10001010

    // 0          의 이진수 출력: 00000000 00000000 00000000 00000000
    // 0xF        의 이진수 출력: 00000000 00000000 00000000 00001111
    // 0xFF       의 이진수 출력: 00000000 00000000 00000000 11111111
    // 0xFFF      의 이진수 출력: 00000000 00000000 00001111 11111111
    // 0xFFFF     의 이진수 출력: 00000000 00000000 11111111 11111111
    // 0xFFFFF    의 이진수 출력: 00000000 00001111 11111111 11111111
    // 0xFFFFFF   의 이진수 출력: 00000000 11111111 11111111 11111111
    // 0xFFFFFFF  의 이진수 출력: 00001111 11111111 11111111 11111111
    // 0xFFFFFFFF 의 이진수 출력: 11111111 11111111 11111111 11111111

  }
}



비트 연산을 할 때에는 이런 식의 출력이 편리할 것입니다.


☞ 자바

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top