* [mdk-re] bash и большие числа
@ 2001-11-26 12:32 Дмитрий Зуев
2001-11-26 14:15 ` Michael Shigorin
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Дмитрий Зуев @ 2001-11-26 12:32 UTC (permalink / raw)
To: mandrake-russian
Здравствуйте !
Столкнулся с такой проблемой. При подсчете стоимости трафика, если умножать
байты на копейки, в случае с числами больше 9 знаков выдается неправильный
результат. Хотелось бы сразу байты пересчитать в МБ, но тогда дробная часть
просто отбрасывается.
Подскажите пожалуйста можно ли в скрипте оперировать с дробными числами, и
какое число для bash является максимальным.
Дмитрий.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [mdk-re] bash и большие числа
2001-11-26 12:32 [mdk-re] bash и большие числа Дмитрий Зуев
@ 2001-11-26 14:15 ` Michael Shigorin
2001-11-26 14:36 ` SilverFox
2001-11-27 1:59 ` [mdk-re] " Mikhail Zabaluev
2 siblings, 0 replies; 11+ messages in thread
From: Michael Shigorin @ 2001-11-26 14:15 UTC (permalink / raw)
To: mandrake-russian
On Mon, Nov 26, 2001 at 02:35:44PM +0500, Дмитрий Зуев wrote:
> Подскажите пожалуйста можно ли в скрипте оперировать с дробными числами, и
> какое число для bash является максимальным.
Судя по man bash, просто так не выйдет. Варианты: 1) bc
(медленновато; точность -- -l); 2) писать в виде "A*B", а потом
чем-нить постпроцессить (awk, bc, ...)
PS: (а вдруг, мне когда-то сильно помогло)
Помогают конструкции вида while read i; do действия ; done < file
(построчная обработка на shell).
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ http://visa.chem.univ.kiev.ua/~mike/
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [mdk-re] bash и большие числа
2001-11-26 12:32 [mdk-re] bash и большие числа Дмитрий Зуев
2001-11-26 14:15 ` Michael Shigorin
@ 2001-11-26 14:36 ` SilverFox
2001-11-27 11:05 ` Michael Shigorin
2001-11-27 1:59 ` [mdk-re] " Mikhail Zabaluev
2 siblings, 1 reply; 11+ messages in thread
From: SilverFox @ 2001-11-26 14:36 UTC (permalink / raw)
To: mandrake-russian
Здравствуйте Дмитрий
On Mon, 26 Nov 2001 14:35:44 +0500
Дмитрий Зуев <dima@southwest.mgn.ru> wrote:
> Здравствуйте !
>
> Столкнулся с такой проблемой. При подсчете стоимости трафика,
> если умножать
> байты на копейки, в случае с числами больше 9 знаков выдается
> неправильный
Это потому что вы базу не определили перед вычислением , а она
равна 10 по умолчанию, "мне так каацца" :)
Обратитесьв man bash на предмет ARITHMETIC EVALUATION .
> результат. Хотелось бы сразу байты пересчитать в МБ, но тогда
> дробная часть
> просто отбрасывается.
А если делить % , останетя дробная часть, remainder называется.
> Подскажите пожалуйста можно ли в скрипте оперировать с
> дробными числами, и
> какое число для bash является максимальным.
Кажется до 64 знаков...
-- Желаю успехов в Ваших праведных трудах
Лисютин Анатолий Петрович (Silver Fox)
mailto:SilverFox@rgantd.ru ICQ:6647501
РГАНТД - Российский государственный архив научно-технической
документации
http://rgantd.ru http://rusarchives.ru/federal/rgantd
^ permalink raw reply [flat|nested] 11+ messages in thread
* [mdk-re] Re: bash и большие числа
2001-11-26 12:32 [mdk-re] bash и большие числа Дмитрий Зуев
2001-11-26 14:15 ` Michael Shigorin
2001-11-26 14:36 ` SilverFox
@ 2001-11-27 1:59 ` Mikhail Zabaluev
2 siblings, 0 replies; 11+ messages in thread
From: Mikhail Zabaluev @ 2001-11-27 1:59 UTC (permalink / raw)
To: mandrake-russian
Hello Дмитрий,
On Mon, Nov 26, 2001 at 02:35:44PM +0500, Дмитрий Зуев wrote:
>
> Столкнулся с такой проблемой. При подсчете стоимости трафика, если умножать
> байты на копейки, в случае с числами больше 9 знаков выдается неправильный
> результат. Хотелось бы сразу байты пересчитать в МБ, но тогда дробная часть
> просто отбрасывается.
> Подскажите пожалуйста можно ли в скрипте оперировать с дробными числами, и
> какое число для bash является максимальным.
bash -- не самый лучший выбор для арифметических вещей. Лучше
оперировать плавающей арифметикой в Perl или Python. Тогда и в
рублях-долларах можно считать, а не в копейках :)
--
Stay tuned,
MhZ JID: mookid@jabber.org
___________
God shows his contempt for wealth by the kind of person he selects to
receive it.
-- Austin O'Malley
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [mdk-re] bash и большие числа
2001-11-26 14:36 ` SilverFox
@ 2001-11-27 11:05 ` Michael Shigorin
2001-11-27 13:18 ` SilverFox
0 siblings, 1 reply; 11+ messages in thread
From: Michael Shigorin @ 2001-11-27 11:05 UTC (permalink / raw)
To: mandrake-russian
On Mon, Nov 26, 2001 at 02:30:11PM +0300, SilverFox wrote:
> Обратитесьв man bash на предмет ARITHMETIC EVALUATION .
..."Evaluation is done in long integers"...
:(
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ http://visa.chem.univ.kiev.ua/~mike/
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [mdk-re] bash и большие числа
2001-11-27 11:05 ` Michael Shigorin
@ 2001-11-27 13:18 ` SilverFox
2001-11-27 13:49 ` [mdk-re] " Mikhail Zabaluev
0 siblings, 1 reply; 11+ messages in thread
From: SilverFox @ 2001-11-27 13:18 UTC (permalink / raw)
To: mandrake-russian
Здравствуйте Michael
On Tue, 27 Nov 2001 09:29:54 +0200
Michael Shigorin <mike@lic145.kiev.ua> wrote:
> On Mon, Nov 26, 2001 at 02:30:11PM +0300, SilverFox wrote:
> > Обратитесьв man bash на предмет ARITHMETIC EVALUATION .
> ..."Evaluation is done in long integers"...
> :(
Тут и bash сам все говорит ...
[sfox@sfox mp3]$ echo $((0x7FFFFFFF))
2147483647
А
[sfox@sfox mp3]$ echo $((0x7FFFFFFFF))
-1
2^64-1 - а еще половина на отрицательные числа ;)
-- Желаю успехов в Ваших праведных трудах
Лисютин Анатолий Петрович (Silver Fox)
mailto:SilverFox@rgantd.ru ICQ:6647501
РГАНТД - Российский государственный архив научно-технической
документации
http://rgantd.ru http://rusarchives.ru/federal/rgantd
^ permalink raw reply [flat|nested] 11+ messages in thread
* [mdk-re] Re: bash и большие числа
2001-11-27 13:18 ` SilverFox
@ 2001-11-27 13:49 ` Mikhail Zabaluev
2001-11-27 14:14 ` SilverFox
0 siblings, 1 reply; 11+ messages in thread
From: Mikhail Zabaluev @ 2001-11-27 13:49 UTC (permalink / raw)
To: mandrake-russian
Hello SilverFox,
On Tue, Nov 27, 2001 at 01:31:49PM +0300, SilverFox wrote:
>
> > ..."Evaluation is done in long integers"...
> > :(
> Тут и bash сам все говорит ...
> [sfox@sfox mp3]$ echo $((0x7FFFFFFF))
> 2147483647
> А
> [sfox@sfox mp3]$ echo $((0x7FFFFFFFF))
> -1
> 2^64-1 - а еще половина на отрицательные числа ;)
Это не 2^64, а 2^32.
--
Stay tuned,
MhZ JID: mookid@jabber.org
___________
Half of being smart is knowing what you're dumb at.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [mdk-re] Re: bash и большие числа
2001-11-27 13:49 ` [mdk-re] " Mikhail Zabaluev
@ 2001-11-27 14:14 ` SilverFox
2001-11-28 0:38 ` Mikhail Zabaluev
0 siblings, 1 reply; 11+ messages in thread
From: SilverFox @ 2001-11-27 14:14 UTC (permalink / raw)
To: mandrake-russian
Здравствуйте Mikhail
On Tue, 27 Nov 2001 14:04:26 +0300
Mikhail Zabaluev <mhz@alt-linux.org> wrote:
> Hello SilverFox,
>
> On Tue, Nov 27, 2001 at 01:31:49PM +0300, SilverFox wrote:
> >
> > > ..."Evaluation is done in long integers"...
> > > :(
> > Тут и bash сам все говорит ...
> > [sfox@sfox mp3]$ echo $((0x7FFFFFFF))
> > 2147483647
> > А
> > [sfox@sfox mp3]$ echo $((0x7FFFFFFFF))
> > -1
> > 2^64-1 - а еще половина на отрицательные числа ;)
>
> Это не 2^64, а 2^32.
Точно... Тем хуже ;( А для 64 разрядных машин, интересно, как?
-- Желаю успехов в Ваших праведных трудах
Лисютин Анатолий Петрович (Silver Fox)
mailto:SilverFox@rgantd.ru ICQ:6647501
РГАНТД - Российский государственный архив научно-технической
документации
http://rgantd.ru http://rusarchives.ru/federal/rgantd
^ permalink raw reply [flat|nested] 11+ messages in thread
* [mdk-re] Re: bash и большие числа
2001-11-27 14:14 ` SilverFox
@ 2001-11-28 0:38 ` Mikhail Zabaluev
2001-11-28 11:06 ` [mdk-re] [JT] " Michael Shigorin
0 siblings, 1 reply; 11+ messages in thread
From: Mikhail Zabaluev @ 2001-11-28 0:38 UTC (permalink / raw)
To: mandrake-russian
Hello SilverFox,
On Tue, Nov 27, 2001 at 02:27:37PM +0300, SilverFox wrote:
>
> > > > ..."Evaluation is done in long integers"...
> > > > :(
> > > Тут и bash сам все говорит ...
> > > [sfox@sfox mp3]$ echo $((0x7FFFFFFF))
> > > 2147483647
> > > А
> > > [sfox@sfox mp3]$ echo $((0x7FFFFFFFF))
> > > -1
> > > 2^64-1 - а еще половина на отрицательные числа ;)
> >
> > Это не 2^64, а 2^32.
> Точно... Тем хуже ;( А для 64 разрядных машин, интересно, как?
См. цитату. Там long будет 64 бита.
--
Stay tuned,
MhZ JID: mookid@jabber.org
___________
Without adventure, civilization is in full decay.
-- Alfred North Whitehead
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [mdk-re] [JT] Re: bash и большие числа
2001-11-28 0:38 ` Mikhail Zabaluev
@ 2001-11-28 11:06 ` Michael Shigorin
2001-11-28 12:04 ` SilverFox
0 siblings, 1 reply; 11+ messages in thread
From: Michael Shigorin @ 2001-11-28 11:06 UTC (permalink / raw)
To: mandrake-russian; +Cc: Mikhail Zabaluev
On Wed, Nov 28, 2001 at 12:53:32AM +0300, Mikhail Zabaluev wrote:
> > > > > ..."Evaluation is done in long _integers_"...
> > > > Тут и bash сам все говорит ...
> См. цитату. Там long будет 64 бита.
Дело не в количестве, а в качестве. int != float
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ http://visa.chem.univ.kiev.ua/~mike/
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [mdk-re] [JT] Re: bash и большие числа
2001-11-28 11:06 ` [mdk-re] [JT] " Michael Shigorin
@ 2001-11-28 12:04 ` SilverFox
0 siblings, 0 replies; 11+ messages in thread
From: SilverFox @ 2001-11-28 12:04 UTC (permalink / raw)
To: mandrake-russian
Здравствуйте Michael
On Wed, 28 Nov 2001 09:59:42 +0200
Michael Shigorin <mike@lic145.kiev.ua> wrote:
> On Wed, Nov 28, 2001 at 12:53:32AM +0300, Mikhail Zabaluev
> wrote:
> > > > > > ..."Evaluation is done in long _integers_"...
> > > > > Тут и bash сам все говорит ...
> > См. цитату. Там long будет 64 бита.
> Дело не в количестве, а в качестве. int != float
Это так, но на 64 битак бы, думаю, хватило бы разрядности
копейки считать.
[sfox@sfox sfox]$ echo "2^64-1/2" | bc
18446744073709551616
Впрочем, тут bc в шеле выручит ;)
-- Желаю успехов в Ваших праведных трудах
Лисютин Анатолий Петрович (Silver Fox)
mailto:SilverFox@rgantd.ru ICQ:6647501
РГАНТД - Российский государственный архив научно-технической
документации
http://rgantd.ru http://rusarchives.ru/federal/rgantd
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2001-11-28 12:04 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-11-26 12:32 [mdk-re] bash и большие числа Дмитрий Зуев
2001-11-26 14:15 ` Michael Shigorin
2001-11-26 14:36 ` SilverFox
2001-11-27 11:05 ` Michael Shigorin
2001-11-27 13:18 ` SilverFox
2001-11-27 13:49 ` [mdk-re] " Mikhail Zabaluev
2001-11-27 14:14 ` SilverFox
2001-11-28 0:38 ` Mikhail Zabaluev
2001-11-28 11:06 ` [mdk-re] [JT] " Michael Shigorin
2001-11-28 12:04 ` SilverFox
2001-11-27 1:59 ` [mdk-re] " Mikhail Zabaluev
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git