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

   Á¶È¸ 8331   Ãßõ 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 2934/5683
2014-05   4955654   Á¤ÀºÁØ1
2015-12   1492132   ¹é¸Þ°¡
2014-12   4059   SpringValley
2014-12   5806   ¼ÒÁÖÇѺ´
2014-12   4068   À±Ä¡¿­
2014-12   6246   Á¶¼Á
2014-12   4052   ±è°Ç¿ì
2014-12   5605   ¹°ÅºÂù¹ä
2014-12   4532   ȲȥÀ»ÇâÇØ
2014-12   5394   DOSS
2014-12   4861   Win31
2014-12   3782   À嵿°Ç2014
2014-12   3800   À嵿°Ç2014
2014-12   3708   ¹Ú
2014-12   5643   º´¸ÀÆù
2014-12   4232   ¾§
2014-12   4030   ÀÓ½ÃÇö
2014-12   8332   ¿ÀÁØÈ£5
2014-12   6326   ¹Ì´ã
2014-12   4661   ¾¾Çü
2014-12   7219   ´Ù´Ï¿¤Çìµù
2014-12   4364   ¼ÛÁøÇö