'2015/06'에 해당되는 글 1건

  1. 2015.06.23 10진수를 2진수로 변환하기(내장함수 한계극복)


                                                  
  안녕하세요. 오즈맨 입니다.
 시트명은 십진수 입니다.
[ 10진수를 2진수로 변환하기(내장함수 한계극복) ] 예제 입니다.
 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
ABCDEF
십진수변환한2진수사용자함수결과비교결과참고(변환후길이)
      
100000001 8 
1000000010 8 
1100000011 8 
10000000100 8 
10100000101 8 
      
0000000100000001같음8 
0000001000000010같음8 
0000001100000011같음8 
0000010000000100같음8 
510 #NUM!111111110#NUM!9자릿수지정 오류
511 #NUM!111111111#NUM!9자릿수지정 오류
      
510 111111110111111110같음9내장함수 한계
511 111111111111111111같음9내장함수 한계
512 #NUM!1000000000#NUM!10 
513 #NUM!1000000001#NUM!10 
1,234,567 #NUM!100101101011010000111#NUM!21 


십진수
시트 에 사용한 수식
입니다. by MicroSoft Excel v 2003
   $ 가 있는 수식은 절대(혼합)참조로 셀 주소를 고정합니다. 참조하세요!!
No셀주소왼쪽의 셀에 수식을 넣으면 오른쪽 결과가 나옵니다.
(복사)를 누르면 셀의 수식이 클립보드(메모리)로 복사되는데,
익스플로러의 종류에 따라 (복사)가 작동이 안 될 수 있습니다.
결과수식을
1B3=DEC2BIN(A3)1
2 B3  셀의 수식을 여기에 복사하세요 -→ 
B3:B7,B16:B20
  
3C3=Dec_Bin(A3)00000001
4 C3  셀의 수식을 여기에 복사하세요 -→ 
C3:C7,C9:C14,C16:C20
  
5E3= LEN(C3)8
6 E3  셀의 수식을 여기에 복사하세요 -→ 
E3:E7,E9:E14,E16:E20
  
7B9=DEC2BIN(A9,8)00000001
8 B9  셀의 수식을 여기에 복사하세요 -→ B9:B14  
9D9=IF(B9=C9,"같음","다름")같음
10 D9  셀의 수식을 여기에 복사하세요 -→ 
D9:D14,D16:D20
  

   보시는 내용은 위의 표에 값이, 아래의 표에는 해당 셀의 수식이 있습니다.   
   첨부파일이 없습니다, 원하는 부분을 시트(셀)에 붙여 넣으세요.
     도움이 되시기를 바랍니다.


     엑셀 프로그램에서는 2진수 기준 8자리
     10진수 기준 511 까지 사용 가능합니다. (도움말 참조하세요 !!!  )



                                                  
                                                                                                       
해결한  사용한 사용자정의함수 코드입니다

Option Explicit

Function Dec_Bin(Dec_Value As Double, Optional HisLen As Double = 8) As String' === 모듈 시작
' CodeBy [ 오즈맨 ] , Date : 2015-06-23
Dim His_Dec As Currency
Dim ii      As Double
Dim AdStrr  As String
        His_Dec = Abs(Dec_Value)
    For ii = 1 To 2
        If His_Dec = 0 Then
        Else
            Dec_Bin = CStr(His_Dec Mod 2) & Dec_Bin
            His_Dec = His_Dec \ 2
                ii = ii - 1
        End If
    Next
        
        If HisLen - Len(Dec_Bin) > 0 Then
            AdStrr = String(HisLen - Len(Dec_Bin), "0")
            Dec_Bin = AdStrr & Dec_Bin
        End If
            If Dec_Value < 0 Then Dec_Bin = "-" & Dec_Bin
        
End Function         ' ___ 모듈 종료




Posted by 오즈맨스머프