Перевод в различные системы исчисления

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Grih65kop
Сообщения: 145

Перевод в различные системы исчисления

Сообщение Grih65kop »

Существуют ли утилиты, либо способы с помощью которых можно легко перевести число из десятичной системы исчисления в двоичную и наоборот.

Спасибо.
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: Перевод в различные системы исчисления

Сообщение azsx »

как пример
http://www.basicallytech.com/blog/index.ph...s-using-bc.html
echo 'obase=2;12' | bc
Спасибо сказали:
Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: Перевод в различные системы исчисления

Сообщение ZyX »

Grih65kop писал(а):
29.12.2011 01:17
Существуют ли утилиты, либо способы с помощью которых можно легко перевести число из десятичной системы исчисления в двоичную и наоборот.

Спасибо.

zsh ($(( [#output_base] base#number ))):

(Created by format.vim)

$ echo $(( 32#12 )) 34 $ echo $(( 2#110011 )) 51 $ echo $(( [#2] 51 )) 2#110011

Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Перевод в различные системы исчисления

Сообщение sash-kan »

ZyX писал(а):
29.12.2011 04:36
zsh
в bash-е аналогично:

Код: Выделить всё

$ echo $((32#12))
34
$ echo $((2#110011))
51
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Grih65kop
Сообщения: 145

Re: Перевод в различные системы исчисления

Сообщение Grih65kop »

Спасибо.
Перевод из двоичной системы в десятичную понятен. Не совсем понял пример с

Код: Выделить всё

echo $((32#12))
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Перевод в различные системы исчисления

Сообщение allez »

А что тут непонятного? Число, которое в системе исчисления с основанием 32 записывается как "12", в десятичной системе записывается как "34":

Код: Выделить всё

1 * 32^1 + 2 * 32^0 = 32 + 2 = 34
Спасибо сказали:
Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: Перевод в различные системы исчисления

Сообщение ZyX »

sash-kan писал(а):
29.12.2011 11:39
ZyX писал(а):
29.12.2011 04:36
zsh
в bash-е аналогично:

Код: Выделить всё

$ echo $((32#12))
34
$ echo $((2#110011))
51

Хорошо. Они часто друг у друга тянут, но где задание системы счисления при выводе?
Спасибо сказали:
Аватара пользователя
Babusha
Сообщения: 203
ОС: Убунту

Re: Перевод в различные системы исчисления

Сообщение Babusha »

Код: Выделить всё

#!/usr/bin/ruby
# encoding: utf-8
case ARGV.shift
when "2to10" then ARGV.each { |opt| puts eval "0b"+opt }
when "10to2" then ARGV.each { |opt| puts opt.to_i.to_s 2 }
end


Как-то так.
Спасибо сказали: