PDA

Просмотр полной версии : калькулятор с битовыми операциями


Victor Sudakov
17.08.2016, 13:58
Victor Sudakov написал(а) к All в Aug 15 03:11:14 по местному времени:

Dear All,

Всю жизнь использовал bc в качестве калькулятора. А есть ли калькулятор командной строки с поддержкой битовых операций? Не на сях же программку писать.

Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20110223-b20110223

Valentin Davydov
17.08.2016, 13:58
Valentin Davydov написал(а) к Victor Sudakov в Aug 15 14:45:22 по местному времени:

From: Valentin Davydov <sp@m.davydov.spb.su>

> From: Victor Sudakov <Victor.Sudakov@p1.f49.n5005.z2.fidonet.org>
> Date: Fri, 07 Aug 2015 03:11:14 +0300
>
>Всю жизнь использовал bc в качестве калькулятора. А есть ли калькулятор
>командной строки с поддержкой битовых операций? Не на сях же программку писать.

С поддержкой некоторых битовых операций - например, ipcalc.

Вал. Дав.
--- ifmail v.2.15dev5.4

Victor Sudakov
17.08.2016, 13:58
Victor Sudakov написал(а) к Valentin Davydov в Aug 15 19:21:36 по местному времени:

Dear Valentin,

07 Aug 15 14:45, you wrote to me:
>>
>> Всю жизнь использовал bc в качестве калькулятора. А есть ли
>> калькулятор командной строки с поддержкой битовых операций? Не на сях
>> же программку писать.

VD> С поддержкой некоторых битовых операций - например, ipcalc.

Мне бы калькулятор общего назначения, типа http://www.miniwebtool.com/bitwise-calculator/

Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20110223-b20110223

Serguei E. Leontiev
17.08.2016, 13:58
Serguei E. Leontiev написал(а) к Victor Sudakov в Aug 15 22:19:27 по местному времени:

From: "Serguei E. Leontiev" <leo@sai.msu.ru>

Привет Виктор,

От 7 августа 2015 г., 3:11:14 в fido7.ru.unix.bsd ты писал:
VS> Всю жизнь использовал bc в качестве калькулятора. А есть ли
VS> калькулятор командной строки с поддержкой битовых операций? Не
VS> на сях же программку писать.

Ну когда мне это было надо, я на коленке порождал файл bin.bc, в котором
определял для bc функции:

high(a) -- POSIX bc h(a)
or(a, b) -- POSIX bc o(a, b)
and(a, b) -- POSIX bc d(a, b)
xor(a, b) -- POSIX bc x(a, b)
not(a) -- POSIX bc n(a, b)

После чего ставишь:

base=2
base=8
или
base=16


Впрочем и POSIX shell, как и bash, никто не отменял же:

$ printf "0x%x\n" $((~(0x1112 ^ 0x10) & ~(0x10 | 0x40)))
0xffffffffffffeead

--
Успехов, Сергей Леонтьев. E-mail: lse@CryptoPro.ru


--- ifmail v.2.15dev5.4

Victor Sudakov
17.08.2016, 13:58
Victor Sudakov написал(а) к Serguei E. Leontiev в Aug 15 12:04:42 по местному времени:

Dear Serguei,

09 Aug 15 22:19, you wrote to me:
VS>> Всю жизнь использовал bc в качестве калькулятора. А есть ли
VS>> калькулятор командной строки с поддержкой битовых операций? Не
VS>> на сях же программку писать.

SL> Ну когда мне это было надо, я на коленке порождал файл bin.bc, в
SL> котором определял для bc функции:

SL> high(a) -- POSIX bc h(a)
SL> or(a, b) -- POSIX bc o(a, b)
SL> and(a, b) -- POSIX bc d(a, b)
SL> xor(a, b) -- POSIX bc x(a, b)
SL> not(a) -- POSIX bc n(a, b)

Ты их с нуля писал, что ли? В bc.library их нет.

SL> После чего ставишь:

SL> base=2
SL> base=8
SL> или
SL> base=16


SL> Впрочем и POSIX shell, как и bash, никто не отменял же:

SL> $ printf "0x%x\n" $((~(0x1112 ^ 0x10) & ~(0x10 | 0x40)))
SL> 0xffffffffffffeead

Ужас. Может в каком-нибудь питоне есть сабж покрасивее.

Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20110223-b20110223

Serguei E. Leontiev
17.08.2016, 13:58
Serguei E. Leontiev написал(а) к Victor Sudakov в Aug 15 10:43:05 по местному времени:

From: "Serguei E. Leontiev" <leo@sai.msu.ru>

Виктор, привет,

Victor Sudakov <Victor.Sudakov@f49.n5005.z2.fidonet.org> wrote:
>> Ну когда мне это было надо, я на коленке порождал файл bin.bc, в
>> котором определял для bc функции:
> Ты их с нуля писал, что ли? В bc.library их нет.

Если без выпендрёжа, то по каждая функция от 3 до 7 строк.

Хотя, если лень думать и/или программировать, первый же вопрос к Яндексу
выдаёт:

http://phodd.net/gnu-bc/#logic

>> Впрочем и POSIX shell, как и bash, никто не отменял же:
>> $ printf "0x%x\n" $((~(0x1112 ^ 0x10) & ~(0x10 | 0x40)))
>> 0xffffffffffffeead
> Ужас. Может в каком-нибудь питоне есть сабж покрасивее.

Ну на тебя, барин, не угодишь, и таки что тебя напрягает, префикс 0x или
printf ?

--
Успехов, Сергей Леонтьев, <http://www.cryptopro.ru> (NewsTap)
--- ifmail v.2.15dev5.4