|
Á¦ ¸ñ : ½©½ºÅ©¸³Æ®¿¡¼ Áø¼öº¯È¯
ÀÛ¼ºÀÏ : 2011.5.17(È)
ÀÛ¼ºÀÚ : ÁÁÀºÁøÈ£(truefeel, http://coffeenix.net/ )
1. 10Áø¼ö·Î º¯È¯Çϱâ(Hexadecimal, Octal, binary -> Decimal)
sh¿Í bash´Â ½© ÀÚü¿¡ Áø¼ö º¯È¯ ±â´ÉÀÌ ÀÖ´Ù. csh´Â Áø¼ö º¯È¯ÀÌ ¾øÁö¸¸, ¿ÜºÎ ¸í·ÉÀ¸·Î ó¸®ÇÒ ¼öÀÖ´Ù.
1) sh¿Í bash¿¡¼
* 16Áø¼ö -> 10Áø¼ö : echo $((0x123))
* 8Áø¼ö -> 10Áø¼ö : echo $((0123))
|
$ echo $((0x123))
291
$ echo $((0xabc))
2748
$ echo $((0123))
83
$ echo $((0x123 + 0123)) <-- 4Ä¢¿¬»ê(+ - * /)°ú ³ª´°¼ÀÀÇ ³ª¸ÓÁö(%)¸¦ °è»êÇÒ ¼ö ÀÖ´Ù. (³ª´°¼ÀÀº ¸ò¸¸ Ç¥½Ã)
374
$ echo $((0x123 % 0123)) <-- 291/83 À¸·Î ³ª´ ¶§ÀÇ ³ª¸ÓÁö 42(291 = 83 X 3 + 42)
42
| |
2) bash¿¡¼
$((Áø¼ö#¼ýÀÚ)) Çü½ÄÀ¸·Î 2~64Áø¼ö¿¡¼ 10Áø¼ö·Î º¯È¯ÀÌ °¡´ÉÇÏ´Ù.
* 16Áø¼ö -> 10Áø¼ö : echo $((16#123))
* 8Áø¼ö -> 10Áø¼ö : echo $((8#123))
* 2Áø¼ö -> 10Áø¼ö : echo $((2#01101010))
* 5Áø¼ö -> 10Áø¼ö : echo $((5#123))
|
$ echo $((16#123))
291
$ echo $((16#abc))
2748
$ echo $((8#123))
83
$ echo $((2#01101010))
106
$ echo $((5#123))
38
| |
4Ä¢¿¬»ê°ú ³ª¸ÓÁö °è»êÀº À§¿Í µ¿ÀÏÇÏ°Ô °¡´ÉÇÏ´Ù.
3) csh¿¡¼
ÀÚü Áø¼öº¯È¯ ±â´ÉÀ» Á¦°øÇÏÁö ¾ÊÀ¸¹Ç·Î, bc ¸í·ÉÀ» ÀÌ¿ëÇØ¼ ÇÑ´Ù.
bc¿¡´Â ibase, obase¶ó´Â Áø¼öº¯È¯¿¡ À¯¿ëÇÑ º¯¼ö°¡ ÀÖ´Ù. ibase´Â input base·Î ÀԷ°ªÀÌ ¹«½¼ Áø¼öÀÎÁö¸¦ ÁöÁ¤ÇÑ´Ù. ¹Ý´ë·Î obase´Â output base·Î Ãâ·Â°ªÀ» ¹«½¼ Áø¼ö·Î Ç¥½ÃÇÒ °ÍÀÎÁö¸¦ ÁöÁ¤ÇÑ´Ù.
´ÙÀ½Àº bc¸í·ÉÀ¸·Î 16Áø¼ö 123À» 10Áø¼ö·Î, 8Áø¼ö 123À» 10Áø¼ö·Î º¯È¯ÇÑ ¿¹ÀÌ´Ù.
|
$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
ibase=16;123
291
ibase=8 ;123
83
quit
$
| |
½© ½ºÅ©¸³Æ®¿¡¼ »ç¿ëÇÏ·Á¸é ´ÙÀ½Ã³·³ ó¸®ÇÏ¸é µÈ´Ù.
echo "ibase=16;123" | bc
echo "ibase=8 ;123" | bc
echo "ibase=16;ABC" | bc <--- ABCDEF´Â ´ë¹®ÀÚ¸¸ °¡´É
2. 10Áø¼ö¸¦ ´Ù¸¥ Áø¼ö·Î º¯È¯Çϱâ(Decimal -> Hexadecimal, Octal, binary)
À§ÀÇ csh ½©¿¡¼ ó·³ bc¸í·ÉÀ» »ç¿ëÇÑ´Ù.
°¢°¢ 16Áø¼ö, 8Áø¼ö, 2Áø¼ö·Î º¯È¯ÇÑ ¿¹ÀÌ´Ù.
|
$ echo "obase=16;100" | bc
64
$ echo "obase=8;100" | bc
144
$ echo "obase=2;100" | bc
1100100
| |
|