[ÇÁ·Î±×·¥] 0.1 ÀÌ Áõ°¡ÇÒ¶§ ¸¶´Ù 16Áø¼ö °ªÀÌ ¿Ã¶ó °¡´Â ·ÎÁ÷

   Á¶È¸ 8108   Ãßõ 0    

안녕하세요.

제가 멍청해서 말로 설명하기가 힘들어서 아래 사진을 첨부 했습니다.

0.1 부터 01 0E 로 시작 합니다.

0.1 씩 증가 할때 마다 1자리 2자리 16진수 값이 +1 씩 증가 합니다.

0.2 = 02 00F

둘째자리가 다 되었을때 (FF) 16진수가 한자리 증가 합니다.

    FF 0C (16진수 둘째자리 끝)
01 00 FE (16진수 셋째자리 처음)

이런식으로 둘째자리가 255 (FF) 이 되었을때 계속 16진수가 한자릿수가 늘어 나는 구조 입니다.

25000.5 이면 25만 5번째 16진수 값을 찾고자 하는데

FOR 문을 돌려 볼까 배열을 이용해서 해볼까 이래 저래 생각해봤는데 실력이 미천하여 어떤식으로 해야 할지

로직이 떠오르지 않아 우선 자문을 구해보고자 글을 올립니다. 흑흑흑


ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
³Ê¹« ¹æ¹ýÀÌ ¸¹¾Æ¼­...............;;;;

0.1 ÀÌ Áõ°¡µÇ´Â ½ÃÁ¡Àº ¾Æ½Ã´Â°Å¶ó°í °¡Á¤ÇÏ°í...(Áï...0.1 ÀÌ Áõ°¡µÇ´Â ½ÃÁ¡¿¡ ÁÂÃø 16Áø¼ö ¿¬»êÀ» ÇÏ´Â ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù´Â ÀüÁ¦ÇÏ¿¡)

ÁÂÃø 16Áø¼ö µé¾î°¡´Â °÷À» int Çü º¯¼ö X ¿¡ ´ã°í...(ÃʱⰪÀÌ 0x010E = 270)
0.1 Áõ°¡½ÃÁ¡¿¡
A1 = (int) (X / 256) À» Çϸé ÁÂÃø°ª¸¸ ³ª¿É´Ï´Ù.
B1 = X mod 256 ÇÏ¸é ¿ìÃø°ª¸¸ ³ª¿À±¸¿ä.

B1 ¿¡ ÇÊ¿äÇÑ ¿¬»ê ÇÏ°í...
A1 ¿¡ +1 ÇØÁÖ°í

X = A1 * 256 + B1 ÇÏ¸é µÇÁö ¾Ê³ª¿ä?

È­¸é Ãâ·Â½Ã¿¡´Â X ¸¦ 16Áø¼ö ÇüÅ·ΠÃâ·ÂÇÏ¸é µÇ±¸¿ä.

±×³É ½»~ º¸°í ´ñ±Û ´Þ¾Æµå¸° °Å¶ó...¿À·ù°¡ ÀÖÀ» ¼ö ÀÖ±ä ÇÕ´Ï´Ù. ;;;
     
±×³ªÀú³ª ´äÀº 03 D0 A3 ÀÎ°Í °°³×¿ä.
°è»ê±â·Î ´ëÃæ µÎµé°ÜºÃ½À´Ï´Ù. (´ëÃæ µÎµé±ä °Å¶ó Ʋ·ÈÀ»¼öµµ............ÇÏÇÏ~)
¹«¾Æ 2014-12
void func(int value)
{
  if(value>255)  func(value/256);
  printf("%02X ", value%256);
}

void main()
{
  for(int i=1; i<10000; i++)
  {
    func(i);
    printf("%02X    %lf\n", (i+0x0d)%256, i/10.0);
  }
}

ÀÌ·¯¸é µÇÁö¾ÊÀ»±î ½ÍÀºµ¥¿ä.. ±Ùµ¥ Áú¹®¿¡ Á» ¾Ö¸ÅÇѺκÐÀÌ ÀÖ±äÇÕ´Ï´Ù.
¹«¾Æ 2014-12
Á» ¾Ö¸ÅÇÑ ºÎºÐ (¼³¸íÀÌ ÃæºÐÇÏÁö ¾ÊÀº ºÎºÐ)À» À§ÀÇ Ç¥¸¦ À¯ÃßÇÏ¿© ´Ù½Ã ¹Ù²ãº» ÄÚµå ÀÔ´Ï´Ù.

int func(int value)
{
int ret = 0;
if (value > 255)
{
ret = func(value / 256);
}
printf("%02X ", value % 256);
return ret + (value % 256);
}

void main()
{
for (int i=1; i<10000; i++)
{
int ret = func(i);
printf("%02X    %lf\n", (ret + 0x0d) % 256, i / 10.0);
}
}
¹«¾Æ 2014-12
for (int i = 250005; i<250006; i++) ³Ö°í µ¹·Áº¸´Ï
03 D0 95 75 °¡ ³ª¿À³×¿ä.

´Ù Â¥³õ°í º¸´Ï äũ¼¶ ±¸ÇÏ´Â °Í À̳׿ä.
äũ¼¶Àº ¸®Ä¿½ÃºêÇÏ°Ô ÇÏÁö¸»°í while ¹®À¸·Î Çصµ µÉµí ÇÕ´Ï´Ù.
     
+1
¿ÀÁØÈ£ 2014-12
´äº¯ °¨»çÇÕ´Ï´Ù. ÈæÈæ
¸ÛûÇÑ ¸Ó¸®°¡ ¹®Á¦ÀÔ´Ï´Ù. ÈæÈæ
seitiÂÀes 2014-12
±Ùµ¥... Àú´Â ´Ù¸¥´äÀÌ ³ª¿Í¼­...

º¸´Ï±î Á¦°¡ ·ÎÁ÷À» À߸øÀÌÇØÇÑ°Í °°³×¿ä...

·ÎÁ÷¿¡¼­  doublebyte2 * 256 °ú doublebyte1 ÀÇ °ü°è¿¡ À־

¿¹¸¦ µé¾î 10 FF ¿¡¼­ ´ÙÀ½¼ö´Â ¾î¶»°Ô µÇ³ª¿ä?

12 00 Àΰ¡¿ä? ¾Æ´Ô ´õºí¹ÙÀÌÆ® µÎ°³°¡ ¾Æ¹«»ó°ü¾ø´Â °Ç°¡¿ä"?

±×·¡¼­ 10 FF ´ÙÀ½ ¼ö°¡ 11 00?

±×¸®°í 3¹ø° ´õºí¹ÙÀÌÆ®¿Í ³×¹ø° ´õºí¹ÙÀÌÆ®ÀÇ °ü°è´Â ±×³É °è¼Ó 1¾¿ ´Ã¾î³ª´Â°Í ¹Û¿¡ ¾ø³ª¿ä?
     
¹«¾Æ 2014-12
¿ÞÂÊ ¹ÙÀÌÆ® µéÀº ±×³É ÀԷ°ª*10 ¿¡ ´ëÇÏ¿© 16Áø¼ö Ç¥ÇöÀÌ°í
¿À¸¥ÂÊ ¹ÙÀÌÆ®´Â 16Áø¼ö Ç¥ÇöµÈ °ÍµéÀ» ¹ÙÀÌÆ® ´ÜÀ§·Î ´õÇÏ°í + 0x0d °ªÀ» ¹ÙÀÌÆ®·Î Ç¥ÇöÇÑ Ã¼Å©¼¶ ÀÎ °Í °°½À´Ï´Ù.
01 + FF + 0D => 10D => 0D
02 + 00 + 0D => 0F => 0F
03 + D0 + 95 + 0D = 175 => 75
          
seitiÂÀes 2014-12
ÀÌ°Ô °¡Àå ¸»ÀÌ µÇ´Â°Í °°³×¿ä... 16Áø¹ýÀ̶ó´Â°ÍÀÌ ¸»ÀÌ µÇ´Â°Íµµ Âü ¸¹ÁÒ...

À§¿¡ ¿ø±Û ºÎºÐ¿¡ ¼³¸íÀÌ Á» ¸ðÀÚ¶ú¾ú³ªº¸³×¿ä... (¾îµð±îÁö³ª ÀúÈñµéÀÇ °¡Á¤)
À±¼º¿Á 2015-01
ÂÁ.... ¹Úµ¿±Ç´ÔÀÌ ¸Â´Â°Å °°³×¿ä
·ÎÁ÷À» ³ªÁß¿¡ º¸°í¼­µµ Ʋ¸®´Ù´Ï

±×³É ¿¢¼¿·Î Çصµ ´äÀÌ ¸Â´Â°Ç °ËÁõÇ߳׿ä
A1=0.1
B1=MID(DEC2HEX(SUM(A1*10 ),6), 1,2)
C1=MID(DEC2HEX(SUM(A1*10 ),6), 3,2)
D1=MID(DEC2HEX(SUM(A1*10 ),6), 5,2)
E1=DEC2HEX(MOD(SUM(HEX2DEC(B1) + HEX2DEC(C1) +HEX2DEC(D1)) + 13, 256),2)

0.1 00 00 01 0E
0.2 00 00 02 0F
0.3 00 00 03 10
0.4 00 00 04 11
25.5 00 00 FF 0C
25.6 00 01 00 0E
51.1 00 01 FF 0D
51.2 00 02 00 0F
76.7 00 02 FF 0E
76.8 00 03 00 10
102.3 00 03 FF 0F
102.4 00 04 00 11
25000.5 03 D0 95 75
 
ÀÌ·¸°Ô ¹«½ÄÇÏ°Ô Çغó׿ä


QnA
Á¦¸ñPage 2749/5611
2014-05   4584708   Á¤ÀºÁØ1
2015-12   1133286   ¹é¸Þ°¡
2014-12   4355   Çà¼öÇà´Ô
2014-12   4529   ¹Ì´ã
2014-12   8843   ¹Ì´ã
2014-12   7906   ºü½Ã¿Â
2014-12   5825   ¶¥¶¥
2014-12   7785   inquisitive
2014-12   3647   ¹æoÈ¿o¹®
2014-12   4314   ÃÖÀç¿ø99
2014-12   10061   ±è¹ÎöGC
2014-12   3790   ±è°Ç¿ì
2014-12   4642   À©µµ¿ì10
2014-12   7605   ºí·ç¿µ»ó
2014-12   4161   ¼ÛÁøÇö
2014-12   7012   ´Ù´Ï¿¤Çìµù
2014-12   4406   ¾¾Çü
2014-12   6063   ¹Ì´ã
2014-12   8109   ¿ÀÁØÈ£5
2014-12   3824   ÀÓ½ÃÇö
2014-12   4003   ¾§
2014-12   5435   º´¸ÀÆù