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

   Á¶È¸ 8379   Ãßõ 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 4700/5687
2015-12   1534211   ¹é¸Þ°¡
2014-05   4998369   Á¤ÀºÁØ1
2016-06   8378   À嵿°Ç2014
2013-03   8379   metaljw
2012-11   8379   ÇÏÁ¤±¸
2004-03   8379   ±èÁ¾ÅÂ
2012-06   8379   ȲȥÀ»ÇâÇØ
2016-11   8379   ¹Ú¼º¸¸
2010-09   8379   °ú°ÅÁö»ç
2010-07   8380   ³²¼º·æ
2003-09   8380   ¹ÚÁ¾´ë
2004-07   8380   ½ÅÁø¿ì
2004-02   8380   ÀÌÇØ¿ø
2004-08   8380   È«¼øö
2014-12   8380   ¿ÀÁØÈ£5
2009-11   8381   ¹Ì¼ÒÂï»ç
2016-04   8381   ±èÈñ¿µ
2016-09   8381   °ÉÀνÅȫö
2013-12   8381   Ä®µµ
2006-04   8381   ¿ì¸íÈÆ
2013-10   8381   ¹è°íÇÁ°í°¡¡¦
2004-03   8381   ºÀÀçÈÆ