|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1985 [º¹»ç]
#include <stdio.h>
int main()
{
int sum = 0; // ÃÑ ÇÕ
char ch; // ÀԷ¹ÞÀº ¹®ÀÚ
char hex[] = "0123456789ABCDEF";
int mask = 0xf; // ( 0000 0000 0000 0000 0000 0000 0000 1111 = 0xf )
int masked_num; // & ¿¬»ê ÈÄ °á°ú °ª
int cnt = 0; // Ä«¿îÅÍ
do{
ch = getchar(); // ¹®ÀÚ ÀԷ¹ްí
if( ch >= '0' && ch <= '9') // ¼ýÀÚÀ̸é
{
sum += ch - '0'; // ÇÕÀ» ±¸ÇÑ´Ù
}
}while( ch != '\n'); // ³Î¹®ÀÚÀÌ¸é ·çÇÁ ²ý
do{
cnt++; // Ä«¿îÆÃ
sum = ( sum << 4 ) | ( sum >> 28 );
// 32ºñÆ®ÀÇ ¾ÕÂÊ 4ºñÆ®¸¦ ·ÎÅ×ÀÌÆ® ½ÃÄѼ µÚÂÊ 4ºñÆ®·Î ¿Å±ä´Ù.
masked_num = sum & mask;
// ¾ÕÂÊ¿¡¼ºÎÅÍ 4ºñÆ®¾¿ ²ø¾î¿Í¼ ºñÆ®¸¦ È®ÀÎ ÇÑ ÈÄ,
putchar(hex[masked_num]);
// ÇØ´çÇÏ´Â ¼ýÀÚ¸¦ Ãâ·ÂÇÑ´Ù.
}while( cnt < 8 );
putchar('\n');
}
À̰ÍÀº ÇÕÀ» 16Áø¼ö·Î Ãâ·ÂÇÏ´Â ¼Ò½º ÀÔ´Ï´Ù. |
Hit : 8463 Date : 2012/04/11 04:09
|