<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Bash: выполнить сравнение чисел]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10053&amp;type=atom" />
	<updated>2014-10-15T09:56:48Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=10053</id>
		<entry>
			<title type="html"><![CDATA[Re: Bash: выполнить сравнение чисел]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=87367#p87367" />
			<content type="html"><![CDATA[<p>по заданию нужно произвести табулирование любой функции с аргументами в диапазоне [a,b]. Шаг изменения h аргумента x вычисляется по формуле (b-a)/100000, то есть вещественное число. Соответственно в цикле измененный x будет сравниваться с b, которое является целым</p>]]></content>
			<author>
				<name><![CDATA[xakerpaul]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32603</uri>
			</author>
			<updated>2014-10-15T09:56:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=87367#p87367</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Bash: выполнить сравнение чисел]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=87360#p87360" />
			<content type="html"><![CDATA[<p>Чистый шелл умеет выполнять <strong>только целочисленные вычисления</strong>. Для выполнения арифметических операций с действительными числами лучше выбрать один из пунктов:</p><p>1. отказаться от использования шелла в пользу более продвинутых средств (Perl, Python и т.д.)<br />2. перейти к целочисленным операциям (например, не выполнять деление на 10)<br />3. использовать &quot;башизмы&quot; (расширенные средства Bash, несовместимые с другими версиями шелла)<br />4. использовать внешние средства (bc, awk, perl, python). Но, вызов внешней программы - ресурсоемкая операция, да еще выполняемая в цикле, поэтому этот пункт можно рассматривать только в учебных целях. </p><p>Скажите, в чем смысл Вашей задачи, где требуется выполнять арифметические операции с действительными числами в шелле?</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2014-10-14T18:15:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=87360#p87360</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Bash: выполнить сравнение чисел]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=87337#p87337" />
			<content type="html"><![CDATA[<p>здравствуйте. Не получается сравнить числа в цикле while<br /></p><div class="codebox"><pre><code>#!/bin/bash
read var
read bvar
h=$(echo &quot;($bvar-$var)/10&quot; | bc -l)
echo &quot;$h&quot; 
x=$var
while [ $x -le $bvar ]
do
x=$(echo &quot;(&quot;$x&quot;+&quot;$h&quot;)&quot; |bc)
echo &quot;$x&quot;
done</code></pre></div><p>В выводе выдает:<br /></p><div class="quotebox"><blockquote><p>.10000000000000000000<br />1.10000000000000000000<br />scr: line 8: [: 1.10000000000000000000: integer expression expected</p></blockquote></div><p>то есть значение h, первое значение x, а далее не может сравнить полученное вещественное значение с целым. Кто может подсказать, как это реализовать?</p>]]></content>
			<author>
				<name><![CDATA[xakerpaul]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32603</uri>
			</author>
			<updated>2014-10-14T15:59:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=87337#p87337</id>
		</entry>
</feed>
