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

   Á¶È¸ 8074   Ãßõ 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 1003/5590
2015-12   1037054   ¹é¸Þ°¡
2014-05   4484613   Á¤ÀºÁØ1
2009-02   8067   ÀÌÄ¡·Î¿î
2004-03   8067   ¹ÚÂùÀÏ
2010-12   8067   ±èÈ¿¼ö
2010-10   8067   °ÌÀïÀÌ¿ì¼Ù
2018-03   8067   ±è¹ÎöGC
2004-07   8066   ¹ÚÁؼ®
2010-05   8066   ±è¿µ±â´ëÀü
2010-05   8066   ÂôÂô
2009-11   8065   Ȳ¼º¿ø
2004-05   8065   ¼Û±â¿µ
2005-08   8065   È«Çöö
2004-06   8065   ÀÌÇØ¿ø
2003-06   8065   ÀÌÁ¾Âù
2010-09   8065   ¸ÖƼŽºÄ¿
2008-07   8064   ±è°Ç¿ì
2003-08   8064   Áø¿øÀç
2003-09   8064   ÃÖÁ¤¿ì
2005-03   8064   ÀÌÁ¤¿ø
2017-04   8063   ±è°Ç¿ì
2011-01   8063   ±èÁ¤Áß