mwultong Blog ... 프로그래밍 / 계산기

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

 
Friday, January 26, 2007

Excel/엑셀 VBA] 2진수 10진수 변환 함수; 이진수 십진수; Dec To Bin / Bin To Dec


엑셀 "추가 기능"에 2진수/10진수 변환 함수가 있긴 있는데, 511 (이진수로는 111111111)을 초과하는 숫자를 다루지 못하는 등의 버그 또는 한계가 있습니다: ▶▶ Excel/엑셀] 2진수 10진수 변환 함수; 이진수 십진수; DEC2BIN / BIN2DEC

그래서 추가 기능 없이도 쓸 수 있고, 큰 숫자도 다룰 수 있는 함수가 필요합니다.

아래는, 일본어판 지식 검색 사이트에서 dec2bin 으로 검색하면 나오는 소스입니다: ▶▶ 일본어판 지식 검색: 教えて!goo (Oshiete goo); 일본의, 네이버 지식인에 해당


비베: 2진수 <-> 10진수 상호 변환 함수; Base-2 (Binary)


(엑셀에서 Alt+F11키를 눌러, 비베 에디터를 실행하고, 비베 에디터 메뉴의, "삽입 > 모듈"을 선택한 후, 다음 코드를 붙여 넣습니다.)
Function decToBin(Dec As Long) As String

  Do
    decToBin = CStr(Dec Mod 2) & decToBin
    Dec = Dec \ 2
  Loop Until Dec = 0

End Function


Function binToDec(Bin As String) As Long

  For i = 1 To Len(Bin)
    binToDec = binToDec * 2 + CInt(Mid(Bin, i, 1))
  Next

End Function



decToBin() : 10진수를 2진수로 변환하는 함수

binToDec() : 2진수를 10진수로 변환하는 함수


이제 엑셀 시트에서 셀에

=decToBin(553256646)
이라고 하면, 10진수가 2진수로
100000111110100000011011000110
이렇게 변환됩니다.


또한
=binToDec("100000111110100000011011000110")
이렇게 하면, 2진수인
100000111110100000011011000110
이, 10진수인 553256646 으로 변환됩니다.




VBA로 16진수 변환 함수: ▶▶ Excel/엑셀] 16진수 10진수 변환 VBA 함수로, 십육진수/십진수를 추가 기능 없이; hexToDec decToHex


16진법 2진법 10진수, 아스키 유니코드 상호 변환기: ▶▶ 16진수 헥사, 2진수, 10진수, 8진법 변환 계산기; Hex Calc




tag: office
엑셀 Excel | 워드 Word | VBA 매크로 | 오피스

0 Comments:

<< Home RSS 2.0 feed

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