Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
Google Site



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 11-21-2005
Registered User
 

Join Date: Aug 2005
Messages: 115
Question Comment faire pour effectuer des calculs utilisant des nombres de plus de 2150000000.

Quelqu'un pourrait-il me dire comment effectuer des calculs utilisant des nombres de plus de 2150000000 de Korn Shell? Quand j'ai essayé de le faire, il m'a donné la mauvaise réponse.

par exemple j'ai un fichier ksh avec le contenu ci-dessous:
---------------------------------
#! / bin / ksh

SUM \u003d `expr 2150000000 + 2»
PRODUIT 2150000000 \u003d `expr" * "2`
QUOTIENT \u003d `expr 2150000000 / 2»

La somme est echo $ SUM
Le produit est echo $ PRODUIT
Le quotient est echo $ QUOTIENT
---------------------------------

Il devrait donner de SUM 2150000002, 4300000000 et 1075000000 pour PRODUIT pour QUOTIENT mais les résultats ci-dessous:

La somme est -2144967294
Le produit est 5032704
Le quotient est -1072483648

Dernière édition par stevefox; au 11.21.2005 08:56 PM..
Liens Sponsorisés
  #2 (permalink)  
Old 11-21-2005
Perderabo's Avatar
Unix Daemon
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9150
PRODUIT \u003d `echo'2150000000 * 2" | bc `
  #3 (permalink)  
Old 11-22-2005
Registered User
 

Join Date: Aug 2005
Messages: 115
Question

Merci Perderabo!
Je veux utiliser que l'intérieur d'une boucle, mais il ne fonctionne pas. Quelqu'un pourrait-il me dire comment faire ce calcul dans une boucle for?

Voici le ksh de la boucle for (les valeurs de l'entrée sera supérieure à 2150000000):

#! / bin / ksh
for i in `cut-f1-d" "input.txt | uniq»

faire
dividende \u003d 0
divider \u003d 0
for j in `grep $ i input.txt | cut-f4-d" "`
faire
((Divider \u003d diviseur + j))
fait
for j in `grep $ i input.txt | cut-f5-d" "`
faire
((Dividende \u003d dividende + j))
fait
finalresult \u003d $ (echo "scale \u003d 4; $ dividende / $ diviseur * 100" | bc)
echo "$ i" "" "$ finalresult">> suite
fait
  #4 (permalink)  
Old 11-22-2005
Registered User
 

Join Date: Sep 2005
Posts: 45
Je ne sais pas que la boucle est le problème, mais ne peut pas dire pour certains - pourriez-vous exactement comment cela ne fonctionne pas? Est-ce que le résultat escompté différent du résultat réel?
Liens Sponsorisés
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Hors tension


Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Date de calcul mitschcg UNIX pour les nuls Questions et réponses 8 03-06-2009 04:40 AM
remplacer les numéros de plus de 0 à 1 Vrms De programmation et de script Shell 4 06-04-2008 08:40 AM
Comment faire pour effectuer plus de deux chiffres dans les scripts shell de Solaris-10 krevathi1912 Solaris 9 11-29-2007 09:36 AM
Temps de calcul Steve Nysif UNIX pour les nuls Questions et réponses 5 09-14-2007 09:49 AM
Float calculs sharmavr UNIX pour les nuls Questions et réponses 1 07-26-2006 03:18 AM



Toutes les heures sont au format GMT -4. Le temps est maintenant 09:51 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX et Linux Forums Copyright © 1993-2010. Tous droits Reserved.Ad Gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0