ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [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