На компьютере я обычно работаю в командной строке Линукса или Мака. Часто возникает нужда перевести число из одной системы счисления в другую. Вызывать для этого специальную программу или брать в руки калькулятор слишком сложно. Я сделал набор скриптов на Питоне, решающих задачу прямо из командной строки. К примеру:
~/bin/hex:
$ bin 13 1101 $ hex 33000 0x80e8 $ dec 0x1020 4128Скрипты очень простые:
~/bin/hex:
#!/usr/bin/python
#
# Convert integer value to hex.
#
import sys
if len(sys.argv) != 2:
print "Usage: hex number"
sys.exit(1)
print "%#x" % int(sys.argv[1], 0)~/bin/dec:
#!/usr/bin/python
#
# Convert integer value to decimal.
#
import sys
if len(sys.argv) != 2:
print "Usage: dec number"
sys.exit(1)
print "%d" % int(sys.argv[1], 0)~/bin/oct:
#!/usr/bin/python
#
# Convert integer value to octal.
#
import sys
if len(sys.argv) != 2:
print "Usage: oct number"
sys.exit(1)
print "%#o" % int(sys.argv[1], 0)
~/bin/bin:
#!/usr/bin/python
#
# Convert integer value to binary.
#
import sys
if len(sys.argv) != 2:
print "Usage: bin number"
sys.exit(1)
print "{0:b}".format(int(sys.argv[1], 0))
no subject
Date: 2018-12-21 22:32 (UTC)no subject
Date: 2018-12-22 00:06 (UTC)Для более сложных действий я предпочитаю калькулятор pdc: https://github.com/daniel-thompson/pdc
no subject
Date: 2018-12-21 22:51 (UTC)printf "%x\n" 10
printf "%d\n" 0x10
no subject
Date: 2018-12-22 00:01 (UTC)Но питон прикольнее, скрипты можно дополнять какими-нибудь фичами.
no subject
Date: 2018-12-22 01:35 (UTC)no subject
Date: 2018-12-21 23:50 (UTC)Ну да, чаще всего одно число перевести надо, но если вдруг понадобится перевести три, то что, три раза название скрипта печатать? :)
no subject
Date: 2018-12-22 00:02 (UTC)no subject
Date: 2018-12-22 04:34 (UTC)#!/usr/bin/python # # Convert integer value(s) to decimal. # import sys for arg in sys.argv[1:]: print "%d" % int(arg, 0)no subject
Date: 2018-12-22 06:32 (UTC)$ ruby -e 'ARGV.map{|v| puts v.to_i 16}' 0x1020 80e8 4128 33000 *ducks & runs*no subject
Date: 2018-12-22 06:37 (UTC)no subject
Date: 2018-12-22 05:07 (UTC)C
vlkamov@arm2d:~$
no subject
Date: 2018-12-23 13:53 (UTC)Це я до того, що писати скрипти для власного користування можна хоч на Brainfuck, але коли скриптами починають користуватись інші скрипти...