The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

Go Back   El UNIX y Linux Foros > Arriba Foros > UNIX para usuarios avanzados y expertos
.
google unix.com



UNIX para usuarios avanzados y expertos Experto a experto. Aprender avanzada UNIX, los comandos de UNIX, Linux, Sistemas Operativos, Administración de Sistemas, Programación, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 07-17-2008
mohan705 mohan705 is offline
Usuario Registrado
  
 

Fecha: febrero 2007
Puestos: 134
awk ayuda

Hola

En mi archivo hay 4 columnas que tengan campos de cantidad, pero yo estoy usando las diferentes cantidades por debajo de la



awk-F "|" '(a + \u003d $ 1 + $ 2 + $ 3 + $ 4) END (printf ( "% f \ n", a))' archivo

1123337200682,226562

awk 'BEGIN (FS \u003d OFS \u003d"|"} (for (i \u003d 1; i <\u003d NF; i + +) (a \u003d $ i + n + +)) END (printf ( "% f \ n", a))' archivo

1123337200684,453613



Gracias,
MR
  #2 (Enlace permanente)  
Old 07-17-2008
Jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Fecha: febrero 2004
Ubicación: NM
Mensajes: 5.753
Bienvenido al maravilloso mundo de la aritmética de punto flotante.

En primer lugar, awk utiliza coma flotante de doble precisión de representación interna de los números.
La costumbre de la doble PRESISION límite es de 15 dígitos. Va a imprimir 19 - ¿necesita de todos ellos? Puede comprobar su sistema, puede proporcionar más de 15.

A continuación, el camino es la realización de los awk añade fp es posiblemente la fuente del problema.
Por $ 1 + $ 2 ..... probablemente lo sea el almacenamiento temporal de valores y obtener cantidades intermedias.
El otro circuito probablemente hace un sencillo Además, con sólo una variable de almacenamiento temporal. Slop en la representación de números a medida que aumenta el paso intermedio a través de los valores y cantidades. Cuanto más valores intermedios, más posibilidad de error.

La otra cuestión es que awk tiene que llamar para cada número atof lee in El número real almacenado en la memoria no puede ser exactamente representable en fp, y desde que está trabajando cerca del límite de doble precisión, unos pocos miles de los pequeños errores representa un cambio en el orden de un número entero.

No es culpa de awk, que tiene que ver con la forma de trabajo fp números.

Puedes intentar escribir un guión aC, en general, mejor que en grandes números. También puede intentar una simple aplicación con C largo doble de datos.
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 01:55 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0