ES2261221T3 - Aparato y metodo para redondear valores numericos segun digitos significativos o un intervalo de redondeo. - Google Patents
Aparato y metodo para redondear valores numericos segun digitos significativos o un intervalo de redondeo.Info
- Publication number
- ES2261221T3 ES2261221T3 ES00950009T ES00950009T ES2261221T3 ES 2261221 T3 ES2261221 T3 ES 2261221T3 ES 00950009 T ES00950009 T ES 00950009T ES 00950009 T ES00950009 T ES 00950009T ES 2261221 T3 ES2261221 T3 ES 2261221T3
- Authority
- ES
- Spain
- Prior art keywords
- section
- rounding
- digit
- storage
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 claims description 101
- 238000004364 calculation method Methods 0.000 claims description 35
- 238000000605 extraction Methods 0.000 claims description 29
- 239000000284 extract Substances 0.000 claims description 8
- HCHKCACWOHOZIP-UHFFFAOYSA-N Zinc Chemical compound [Zn] HCHKCACWOHOZIP-UHFFFAOYSA-N 0.000 claims description 3
- 239000011701 zinc Substances 0.000 claims description 3
- 229910052725 zinc Inorganic materials 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 2
- 238000006467 substitution reaction Methods 0.000 claims 2
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 7
- 238000005259 measurement Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- IJGRMHOSHXDMSA-UHFFFAOYSA-N Atomic nitrogen Chemical compound N#N IJGRMHOSHXDMSA-UHFFFAOYSA-N 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000000840 electrochemical analysis Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 244000144972 livestock Species 0.000 description 1
- 229910052757 nitrogen Inorganic materials 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000002076 thermal analysis method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
- G06F7/575—Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Numerical Control (AREA)
Abstract
Aparato de redondeo decimal que comprende: una sección (1) de entrada para introducir un valor numérico x que se debe redondear y un intervalo de redondeo w; una primera sección (21) de almacenamiento para almacenar el valor numérico x introducido; una segunda sección (22) de almacenamiento para almacenar el intervalo de redondeo w; y, una sección (4) de procesado de redondeo para redondear el valor numérico x almacenado en dicha primera sección (21) de almacenamiento con una posición de dígito determinada por el intervalo de redondeo w almacenado en dicha segunda sección (22) de almacenamiento, caracterizado porque dicho aparato de redondeo está especialmente adaptado de manera que: (A) dicha sección (1) de entrada introduce el intervalo de redondeo w; (B) dicha primera sección de almacenamiento comprende una sección (21) de almacenamiento de numerales para almacenar dígitos en posiciones de dígito sucesivas del valor numérico x introducido; (C) dicha segunda sección de almacenamientocomprende una sección (22) de almacenamiento de intervalos de redondeo para almacenar el intervalo de redondeo w introducido; (D) dicha sección de procesado de redondeo comprende una sección (31) de extracción de numerales menos significativos para extraer un valor numérico menos significativo y compuesto por dígitos en las posiciones de dígito a la derecha de una posición de dígito correspondiente al intervalo de redondeo w almacenado en dicha sección (22) de almacenamiento de intervalos de redondeo.
Description
Aparato y método para redondear valores
numéricos según dígitos significativos o un intervalo de
redondeo.
La presente invención se refiere a un aparato y
a un método usados para el redondeo que es necesario para análisis,
mediciones, investigaciones, y otros. Más particularmente, la
invención se refiere a un aparato y a un método para realizar un
procesado de redondeo según dígitos significativos o un intervalo de
redondeo.
En general, el procesado de aproximación
numérica tipificado como redondeo ha disfrutado de una amplia
aceptación. Entre los ejemplos se incluyen la reorganización de
datos experimentales y procesos de contabilidad. Muchos procesos de
redondeo se preparan como funciones en lenguajes de alto nivel y
software de procesado de datos. Un usuario puede obtener un valor
numérico redondeado especificando un valor numérico y una posición
de un dígito a procesar.
La Fig. 14 ilustra el procesado realizado usando
una función de redondeo convencional. En primer lugar, un usuario
introduce un valor numérico x a procesar y una posición de un dígito
p a procesar (etapa 601). Si la posición del dígito p a procesar es,
por ejemplo, la posición correspondiente a 100, p es -2. Si se
debiera obtener un entero, p es 0. Si la posición del dígito es la
posición del tercer decimal, p es +3. A continuación, los dígitos en
las posiciones sucesivas de dígito del valor numérico x
proporcionado se almacenan a su vez en memoria (etapa 602). De la
memoria se lee un dígito en la posición de dígito inmediatamente a
la derecha de la posición de dígito p especificada (etapa 603). Se
toma una decisión sobre si el dígito es igual a o mayor que 5 (etapa
604). Si el resultado de la decisión es SÍ (es decir, el valor
numérico es igual a o mayor que 5), se realiza el redondeo por
exceso (etapa 605). Si el resultado de la decisión es NO, se realiza
el redondeo por defecto (etapa 606). De esta manera, el procesado
convencional con bifurcación condicional que usa una función extrae
solamente un dígito de entre los dígitos en las múltiples posiciones
de dígito. A continuación, se efectúa una bifurcación
condicional.
El planteamiento de la técnica anterior descrito
anteriormente presenta los siguientes problemas.
(1) Resulta imposible especificar la posición
del dígito procesado por dígitos significativos.
Los programas de software de hojas de cálculo
disponibles actualmente en el mercado no incluyen el concepto de que
la posición del dígito procesado se especifique por dígitos
significativos. Si la posición de un dígito que se debe procesar se
cuenta desde la posición del dígito más a la izquierda y la misma se
especifica, es necesario otro procesado de bifurcación condicional
de manera que la posición del dígito procesado se especifique por
dígitos significativos al atravesar una coma decimal, siempre que se
realice el procesado de bifurcación condicional de la técnica
anterior (es decir, únicamente se toma un dígito de entre las
múltiples posiciones de los dígitos y se toma una decisión). Por
ejemplo, cuando se deba redondear 0,0000234 a dos dígitos
significativos, si este valor numérico se cuenta tal como es, en ese
caso se tomará el dígito en la posición del tercer decimal y se
realizará un proceso de redondeo. De este modo, los dígitos se toman
y se cuentan sucesivamente desde la posición del dígito más a la
izquierda. Se toma una decisión sobre si cada dígito tomado es o no
un 0. Si es 0, esta posición de dígito no se cuenta. De esta manera,
es necesario un procesado de bifurcación condicional. Además, cuando
se ejecuta un proceso de redondeo con cuatro dígitos significativos,
si el valor numérico es 30.200, es necesario contar en su totalidad
el "0" en la posición del cuarto dígito, el "0" en la
posición del segundo dígito, y el "0" en la posición del primer
dígito. En el caso de 0,34502, no se cuenta el "0" en la
posición del primer dígito (el dígito más significativo). No
obstante, se debe contar el "0" en la posición del cuarto
decimal y así sucesivamente. Por esta razón, son necesarias más
bifurcaciones condicionales.
Cuando se usa la secuencia de procesado de la
técnica anterior tal como se ha descrito anteriormente, si el dígito
que se debe redondear se especifica por dígitos significativos, se
produce inevitablemente un procesado muy complicado. Por esta razón,
la función de la técnica anterior no consigue que resulte posible
especificar una posición de un dígito por dígitos significativos.
Además, no hay disponible ningún software de hoja de cálculo capaz
de especificar una posición deseada de un dígito por un número
significativo.
Las calculadoras, tales como la Casio
fx-115W, están equipadas con una variedad de modos
para especificar la precisión del número visualizado. Por ejemplo,
el modo SCI permite la introducción del número de cifras
significativas a visualizar, con redondeo por exceso o por defecto
según el dígito después del dígito menos significativo. Como
alternativa, el modo FIX permite la introducción del número de
posiciones decimales a visualizar, de una forma similar a la
descrita anteriormente. La solicitud de patente europea EP 0 715 263
describe un ordenador el cual incluye controles para especificar el
número de posiciones decimales a usar para un cálculo y también para
especificar el número de posiciones decimales a visualizar, con un
redondeo convencional de la posición decimal por debajo de la
especificada. Dicha fijación de la coma decimal se puede equiparar
a una forma de procesado basada en un intervalo de redondeo.
(2) No se puede realizar el procesado de
redondeo que usa directamente un intervalo de redondeo.
El redondeo que usa un intervalo de redondeo se
basa en la ISO (Organización Internacional de Normalización)
31-0:1992 (E), apéndice B, "Guide to the rounding
of numbers". El redondeo que usa un intervalo de redondeo
consiste en sustituir un valor numérico determinado por un valor
numérico seleccionado de entre una secuencia de múltiplos enteros de
un intervalo de redondeo seleccionado. Por ejemplo, cuando el
intervalo de redondeo es 0,1, el 12,849 se redondea a 12,8 y el
13,451 se redondea a 13,5. Cuando el intervalo de redondeo es 10, el
1.284,9 se redondea a 1.280, y el 1.345,1 se redondea a 1.350. Por
consiguiente, en el procesado de redondeo que usa un intervalo de
redondeo, lo que se introduce en primer lugar no es la posición del
dígito procesado sino un intervalo de redondeo. No obstante, los
programas de software de hoja de cálculo disponibles actualmente en
el mercado no incluyen en el concepto de que el redondeo se realice
basándose en un intervalo de redondeo. Por ello, ha resultado
imposible realizar un proceso de redondeo introduciendo directamente
un intervalo de redondeo. Por esta razón, para realizar el proceso
de redondeo de la técnica anterior que usa un intervalo de redondeo,
es necesario un procesado adicional para convertir el intervalo de
redondeo en la posición del dígito procesado. Esta situación
complica el procesado, y se prolonga el tiempo del mismo.
(3) Es imposible adaptarse a la JIS (Norma
Industrial Japonesa).
Cuando se usa el redondeo simple, el resultado
queda sesgado según los valores numéricos contenidos en los datos.
Por esta razón, es necesario un redondeo para corregir el resultado
sesgado y minimizar el error de redondeo. La JIS estipula un método
de redondeo con este fin. Mucha documentación presentada a los
organismos públicos tiene valores numéricos que se deben redondear
según la JIS.
La Fig. 15 ilustra un método de aproximación
numérica estipulado por la JIS, Z8401. Fundamentalmente, se realiza
un proceso de redondeo, y se efectúa una clasificación del 5
restante. Cuando un valor numérico se redondea a un valor numérico
que tiene n dígitos significativos, el dígito en la posición
(n+1)ésima y los dígitos menos significativos se reorganizan de la
forma siguiente.
- (a)
- Cuando el dígito en la posición de dígito (n+1)ésima o un dígito menos significativo es menor que la mitad de 1 unidad en la posición de dígito enésima, el dígito se descarta.
- (b)
- Cuando el dígito en la posición de dígito (n+1)ésima o un dígito menos significativo es mayor que la mitad de 1 unidad en la posición de dígito enésima, el dígito en la posición de dígito enésima se incrementa en 1 unidad.
- (c)
- Cuando el dígito en la posición (n+1)ésima o un dígito menos significativo es igual a la mitad de 1 unidad en la posición de dígito enésima, se llevan a cabo los siguientes procesos (i) y (ii).
- (i)
- Si el dígito en la posición de dígito enésima es 0, 2, 4, 6, u 8, el dígito se descarta.
- (ii)
- Si el dígito en la posición de dígito enésima es 1, 3, 5, 7, ó 9, el dígito en la posición enésima se incrementa en 1 unidad.
Los dígitos significativos se cuentan a partir
de la posición del dígito más significativo que no es cero. Este
redondeo se debe realizar en una fase. Por ejemplo, si el 5,346 se
redondea a dos dígitos significativos a través de este método, en
ese caso se obtiene como resultado 5,3. Si el redondeo se realiza en
dos fases, el valor numérico se redondea a 5,35 en la primera fase y
a 5,4 en la segunda fase.
El procesado se efectúa en la secuencia según la
manera descrita a continuación. En primer lugar, se determina el
número de dígitos (etapa 701). Se toma una decisión sobre si el
dígito en la posición de dígito (n+1)ésima es 6 ó mayor (etapa 702).
Si el dígito es 6 ó mayor, el dígito en la posición de dígito
enésima se incrementa en 1. Se descartan el dígito en la posición
(n+1)ésima y los dígitos menos significativos (etapa 706). Por
ejemplo, si el 13,461 se redondea a tres dígitos significativos, se
obtiene como resultado el 13,5.
A continuación, se toma una decisión sobre si el
dígito en la posición de dígito (n+1)ésima es 4 ó menor (etapa 703).
Si es 4 ó menor, se descartan el dígito en la posición (n+1)ésima y
los dígitos menos significativos (etapa 707). Por ejemplo, si el
12,849 se redondea a tres dígitos significativos, se obtiene el
12,8.
Si el dígito en la posición (n+1)ésima no es
igual o mayor que 6 ni igual o menor que 4, es decir, el dígito en
la posición de dígito (n+1)ésima es 5, se toma una decisión sobre si
el dígito en la posición (n+2)ésima y los dígitos menos
significativos son todos ellos 0 (etapa 704). Si el dígito en la
posición (n+2)ésima y los dígitos menos significativos contienen un
numeral o numerales que no son cero, el dígito en la posición de
dígito enésima se incrementa en 1, y se eliminan el dígito en la
posición (n+1)ésima y los dígitos menos significativos (etapa 706).
Por ejemplo, si basándose en este principio el 13,451 se redondea a
tres dígitos significativos, se obtiene como resultado el 13,5.
Si el dígito en la posición de dígito (n+2)ésima
y los dígitos menos significativos son todos ellos 0, se toma una
decisión sobre si el dígito en la posición enésima es par o impar
(etapa 705). Si el resultado es que el dígito es par, en ese caso se
eliminan el dígito en la posición (n+1)ésima y los dígitos menos
significativos (etapa 707). Por ejemplo, si el 11,450 se redondea a
tres dígitos significativos, se obtiene como resultado el 11,4. En
cambio, si el dígito en la posición enésima es impar, el dígito en
la posición enésima se incrementa en 1, y se descartan el dígito en
la posición (n+1)ésima y los dígitos menos significativos (etapa
706). Por ejemplo, si el 12,750 se redondea a tres dígitos
significativos, sale el 12,8.
No obstante, si los dígitos necesarios para la
decisión se toman de entre todas las posiciones de dígitos
correspondientes a los dígitos según el procesado de bifurcación
condicional que usa la función de redondeo de la técnica anterior, y
si los dígitos que se toman se tratan como un número, en la
bifurcación condicional de la etapa 704 de la Fig. 15 son necesarias
numerosas bifurcaciones condicionales (etapas 804 a 807), tal como
se ilustra en la Fig. 16.
Esta sección se usa para determinar que el
dígito en la posición de dígito (n+1)ésima es 5 y que los dígitos
menos significativos son todos ellos 0. Cuando se extraen los
dígitos necesarios de entre todas las posiciones de dígito y los
mismos se tratan como un número, se deben determinar los dígitos en
todas las posiciones de dígito.
Por ejemplo, cuando los dígitos ubicados a la
derecha de un dígito redondeado son 50.000.001, la JIS requiere un
redondeo por exceso. Si una persona toma una decisión guiada por la
vista, puede detectar inmediatamente que hay presente un dígito que
no es cero en cierta posición de los dígitos menos significativos.
Cuando se usa un ordenador, el método de decisión presenta un
problema. En el procesado de la técnica anterior en el que se toma
una decisión para cada posición de dígito, se toma una decisión
sobre si el dígito en la posición de dígito (n+2)ésima es o no 0. A
continuación, se toma una decisión sobre si el dígito en la posición
(n+3)ésima es o no 0. Subsiguientemente, se toma una decisión sobre
si el dígito en la posición (n+4)ésima es o no 0. De esta manera, se
toman decisiones hasta la posición de dígito situada más a la
derecha para determinar si el 0 no está contenido en absoluto en las
posiciones (n+2)ésima y las siguientes o si hay presente algún
numeral que no es cero en cualquier posición de dígito. Como los
dígitos en las posiciones de dígitos siguientes se determinan de
forma sucesiva, no se puede tomar una determinación final hasta que
se ha llevado a cabo una multiplicidad de operaciones de
bifurcación.
Cuando se contempla el número de dígitos capaces
de ser calculados por los ordenadores actuales, se espera que el
número de las operaciones de bifurcación condicional sea
desorbitado. Por consiguiente, en el procedimiento convencional, es
necesario limitar el número de dígitos tratados a un valor bastante
por debajo de la capacidad de procesado del ordenador con vistas a
reducir el número de las operaciones necesarias de bifurcación
condicional. Por esta razón, incluso si el procedimiento se trata en
términos de software, se recomienda la realización del cálculo a un
nivel considerablemente menor que la capacidad de cálculo del
ordenador. Esta situación limita la gama que se puede procesar. Como
consecuencia, el software no sería viable en el mercado. De esta
manera, la situación actual es que no se ha desarrollado ni se ha
llevado a la práctica ningún software capaz de realizar operaciones
de redondeo según la JIS Z8401.
En el procesado de redondeo descrito
anteriormente, resulta imposible introducir directamente un
intervalo de redondeo para el procesado de redondeo. Para realizar
el proceso de redondeo de la técnica anterior que usa un intervalo
de redondeo, es necesario un procesado adicional para convertir el
intervalo de redondeo en una posición de un dígito. Además, en este
caso, el procesado se complica y se prolonga el tiempo del
mismo.
Uno de los objetivos de la presente invención es
proporcionar un aparato y métodos capaces de realizar un proceso de
redondeo decimal mediante el redondeo de un valor numérico, usando
dígitos significativos o alternativamente un intervalo de
redondeo.
Otro de los objetivos de la invención es
proporcionar un aparato y métodos capaces de realizar un redondeo
decimal de números con un error de redondeo mínimo según la JIS
(Norma Industrial Japonesa), nuevamente usando bien dígitos
significativos o bien un intervalo de redondeo.
Según un primer aspecto de la presente
invención, se proporciona un aparato de redondeo decimal que
comprende:
una sección de entrada para introducir un valor
numérico x que se debe redondear y un intervalo de redondeo w;
una primera sección de almacenamiento para
almacenar el valor numérico x introducido;
una segunda sección de almacenamiento para
almacenar el intervalo de redondeo w; y,
una sección de procesado de redondeo para
redondear el valor numérico x almacenado en dicha primera sección de
almacenamiento con una posición de dígito determinada por el
intervalo de redondeo w almacenado en dicha segunda sección de
almacenamiento,
caracterizado porque:
(A) dicha sección de entrada introduce el
intervalo de redondeo w;
(B) dicha primera sección de almacenamiento
incluye una sección de almacenamiento de numerales para almacenar
dígitos en posiciones de dígito sucesivas del valor numérico x
introducido;
(C) dicha segunda sección de almacenamiento
incluye una sección de almacenamiento de intervalos de redondeo para
almacenar el intervalo de redondeo w introducido;
(D) dicha sección de procesado de redondeo
incluye
una sección de extracción de numerales menos
significativos para extraer un valor numérico menos significativo y
compuesto por dígitos en posiciones de dígito a la derecha de una
posición de dígito correspondiente al intervalo de redondeo w
almacenado en dicha sección de almacenamiento de intervalos de
redondeo, y
una sección de procesado de redondeo de
intervalos de redondeo para sustituir el valor numérico x almacenado
en dicha sección de almacenamiento de numerales por un valor
numérico seleccionado de entre una secuencia de múltiplos del
intervalo de redondeo w almacenado en dicha sección de
almacenamiento de intervalos de redondeo según el resultado de una
comparación del intervalo de redondeo w almacenado en dicha sección
de almacenamiento de intervalos de redondeo con dos veces el valor
numérico menos significativo y extraído por dicha sección de
extracción de numerales menos significativos;
(E) se proporciona además una sección de
extracción de numerales redondeados para extraer un dígito
redondeado R del valor numérico x almacenado en dicha sección de
almacenamiento de numerales, estando el dígito de redondeo R en una
posición de dígito correspondiente al intervalo de redondeo w
almacenado en dicha sección de almacenamiento de intervalos de
redondeo; y,
(F) dicha sección de redondeo de intervalos de
redondeo comprende: una sección de cálculo de restos para calcular
un resto b que se produce cuando el dígito redondeado R extraído por
dicha sección de extracción de numerales redondeados se divide por
2; una sección sumadora para sumar 1 al dígito redondeado R extraído
por dicha sección de extracción de numerales redondeados si el
intervalo de redondeo w almacenado en dicha sección de
almacenamiento de intervalos de redondeo es menor que dos veces el
valor numérico menos significativo y extraído por dicha sección de
extracción de numerales menos significativos o si el intervalo de
redondeo w almacenado en dicha sección de almacenamiento de
intervalos de redondeo es igual a dos veces el valor numérico menos
significativo y extraído por dicha sección de extracción de
numerales menos significativos y, al mismo tiempo, el resto b
calculado por dicha sección de cálculo de restos es 1; y una sección
de descarte para descartar el valor numérico menos significativo y
extraído por dicha sección de extracción de numerales menos
significativos.
De acuerdo con un segundo aspecto de la presente
invención, se proporciona un aparato de redondeo decimal que
comprende:
una sección de entrada para introducir un valor
numérico x que se debe redondear y un número de dígitos
significativos n;
una primera sección de almacenamiento para
almacenar el valor numérico introducido x;
una segunda sección de almacenamiento para
almacenar el número introducido de dígitos significativos n; y,
una sección de procesado de redondeo para
redondear el valor numérico x almacenado en dicha primera sección de
almacenamiento con una posición de dígito determinada por el número
de dígitos significativos n almacenados en dicha segunda sección de
almacenamiento,
caracterizado porque:
(A) dicha sección de entrada introduce el
número de dígitos significativos n;
(B) dicho aparato de redondeo incluye además
una sección de cálculo de enteros/índices para calcular un entero K
y un índice M con lo que el valor numérico x introducido por la
sección de entrada viene dado por K x 10^{M}, en la que K tiene un
dígito menos significativo diferente a cero, de tal manera que en
las posiciones decimales no hay presentes valores diferentes a
cero;
(C) dicha primera sección de almacenamiento
incluye una sección de almacenamiento de partes de índice para
almacenar el índice M calculado por dicha sección de cálculo de
enteros/índices y una sección de almacenamiento de partes enteras
para almacenar el entero K calculado por dicha sección de cálculo de
enteros/índices;
(D) dicha segunda sección de almacenamiento
incluye una sección de almacenamiento de dígitos significativos para
almacenar el número de dígitos significativos n introducidos;
(E) dicha sección de procesado de redondeo
incluye una sección de redondeo de dígitos significativos para
redondear el entero K con el número de dígitos significativos n,
usando el entero K almacenado en dicha sección de almacenamiento de
partes enteras y el número de dígitos significativos n almacenados
en dicha sección de almacenamiento de dígitos significativos, con
vistas a calcular un entero L; y
\newpage
(F) dicho aparato de redondeo incluye además una
sección de restablecimiento de posiciones de dígito para calcular L
x 10^{M} usando el entero L calculado por dicha sección de
redondeo de dígitos significativos y el índice M almacenado en dicha
sección de almacenamiento de partes de índice,
en el que dicha sección de redondeo de dígitos
significativos comprende:
una sección de determinación de cincos para
convertir en un numeral los dígitos en las posiciones (n+1)ésima y
las siguientes posiciones de dígito del entero K almacenado en dicha
sección de almacenamiento de partes enteras y tomar una decisión
sobre si el numeral convertido es igual a 5;
una sección de discriminación de impares/pares
para dividir un dígito en la posición de dígito enésima del entero K
por 2 y tomar una decisión sobre si el resto es 0 si dicha sección
de determinación de cincos determina que el numeral formado por
dígitos en las posiciones de dígito (n+1)ésima y las siguientes es
igual a 5;
una sección de determinación de redondeo para
tomar una decisión sobre si un dígito en la posición de dígito
(n+1)ésima del entero K es igual a o mayor que 5 si dicha sección de
determinación de cincos determina que el numeral formado por dígitos
en las posiciones de dígito (n+1)ésima y las siguientes no es igual
a 5;
una sección de redondeo por defecto para
descartar dígitos en las posiciones de dígito (n+1)ésima y las
siguientes con vistas a calcular el entero L si dicha sección de
discriminación de pares/impares determina que el resto es 0 ó si
dicha sección de determinación de redondeo determina que el dígito
en la posición de dígito (n+1)ésima no es igual o mayor que 5; y
una sección de redondeo por exceso para
incrementar el dígito en la posición de dígito enésima en 1 y
descartar los dígitos en las posiciones de dígitos (n+1)ésima y las
siguientes con vistas a calcular el entero L si la sección de
discriminación de pares/impares determina que el resto no es 0 o si
dicha sección de determinación de redondeo determina que el dígito
en la posición de dígito (n+1)ésima es igual o mayor que 5.
También se proporciona un método de redondeo
decimal y un soporte de grabación en el que se carga un programa de
ordenador para ejecutarlo en un ordenador correspondiente al aparato
de cada uno del primer y el segundo aspectos de la presente
invención.
A continuación se describirán detalladamente
ejemplos de la presente invención haciendo referencia a los dibujos
adjuntos, en los cuales:
la Fig. 1 es un diagrama de bloques de un
procesador de redondeo según una primera forma de realización de la
presente invención;
la Fig. 2 es un diagrama de bloques de un
ejemplo del hardware del procesador de redondeo mostrado en la Fig.
1, realizado usando un ordenador;
la Fig. 3 es un diagrama de flujo que ilustra el
procesado de redondeo realizado por el procesador de redondeo
mostrado en la Fig. 1;
la Fig. 4 es un diagrama de bloques de un
procesador de redondeo de acuerdo con una segunda forma de
realización de la invención;
la Fig. 5 es un diagrama de flujo que ilustra el
procesado de redondeo realizado por el procesador de redondeo
mostrado en la Fig. 4;
la Fig. 6 es un diagrama de bloques de un
procesador de redondeo según una tercera forma de realización de la
invención;
la Fig. 7 es un diagrama de flujo que ilustra el
procesado de redondeo realizado por el procesador de redondeo
mostrado en la Fig. 6;
la Fig. 8 es un diagrama de bloques de un
procesador de redondeo según una cuarta forma de realización de la
invención;
la Fig. 9 es un diagrama de flujo que ilustra el
procesado de redondeo realizado por el procesador de redondeo
mostrado en la Fig. 8;
la Fig. 10 es un diagrama de bloques de un
procesador de redondeo según una quinta forma de realización de la
invención;
\newpage
la Fig. 11 es un diagrama de flujo que ilustra
el procesado de redondeo realizado por el procesador de redondeo
mostrado en la Fig. 10;
la Fig. 12 es un diagrama de bloques de un
procesador de redondeo según una sexta forma de realización de la
invención;
la Fig. 13 es un diagrama de flujo que ilustra
el procesado de redondeo realizado por el procesador de redondeo
mostrado en la Fig. 12;
la Fig. 14 es un diagrama de flujo que ilustra
el procedimiento de procesado de la técnica anterior para el
redondeo;
la Fig. 15 es un diagrama de flujo que ilustra
el procedimiento de procesado de la técnica anterior para realizar
el redondeo especificado por la JIS, usando un ordenador; y
la Fig. 16 es un diagrama de flujo que ilustra
el procedimiento del procesado de la técnica anterior para realizar
el redondeo especificado por la JIS, usando un ordenador, mediante
un procesado de bifurcación detallado.
En lo sucesivo se describen las formas de
realización preferidas de la presente invención haciendo referencia
a los dibujos. En la Fig. 1 se muestra un procesador de redondeo
según una primera forma de realización de la presente invención en
forma de diagrama de bloques. La primera y segunda formas de
realización que se describen a continuación se refieren a
procesadores de redondeo para realizar procesos de redondeo usando
un intervalo de redondeo.
Haciendo referencia a la Fig. 1, el procesador
de redondeo comprende una sección 1 de entrada, una sección 2 de
almacenamiento, una sección 3 de extracción, una sección 4 de
procesado de redondeo, y una sección 5 de salida. La sección 2 de
almacenamiento tiene una sección 21 de almacenamiento de numerales y
una sección 22 de almacenamiento de intervalos de redondeo. La
sección 3 de extracción tiene una sección 31 de extracción de
numerales menos significativos y una sección 32 de extracción de
numerales redondeados. La sección 4 de procesado de redondeo tiene
una sección 41 de cálculo de restos, una sección sumadora 42, y una
sección 43 de descarte.
La sección 1 de entrada se usa para introducir
un valor numérico x que se debe redondear y un intervalo de redondeo
w. La sección 21 de almacenamiento de numerales almacena dígitos en
las posiciones de dígitos sucesivas del valor numérico x
introducido. La sección 22 de almacenamiento de intervalos de
redondeo almacena el intervalo de redondeo w introducido. La sección
31 de extracción de numerales menos significativos extrae un valor
numérico y del valor numérico x almacenado en la sección 21 de
almacenamiento de numerales, estando formado el valor numérico y por
los dígitos en las posiciones de dígito a la derecha de una posición
de dígito correspondiente al intervalo de redondeo w almacenado en
la sección 22 de almacenamiento de intervalos de redondeo. La
sección 32 de extracción de numerales redondeados extrae un dígito
redondeado R del valor numérico x almacenado en la sección 21 de
almacenamiento de numerales, estando ubicado el dígito R en una
posición de dígito correspondiente al intervalo de redondeo w
almacenado en la sección 22 de almacenamiento de intervalos de
redondeo. La sección 41 de cálculo de restos calcula el resto b
cuando el dígito redondeado R extraído por la sección 32 de
extracción de numerales redondeados se divide por 2. Si el intervalo
de redondeo w almacenado en la sección 22 de almacenamiento de
intervalos de redondeo es menor que dos veces el valor numérico
menos significativo y extraído por la sección 31 de extracción de
numerales menos significativos, o si el intervalo de redondeo w
almacenado en la sección 22 de almacenamiento de intervalos de
redondeo es igual a dos veces el valor numérico menos significativo
y extraído por la sección 31 de extracción de numerales menos
significativos y, al mismo tiempo, el resto b calculado por la
sección 41 de cálculo de restos es 1, en ese caso la sección
sumadora 42 suma 1 al dígito redondeado R extraído por la sección 32
de extracción de numerales redondeados y reescribe el dígito
redondeado R almacenado en la sección 21 de almacenamiento de
numerales. La sección 43 de descarte elimina el valor numérico menos
significativo y extraído por la sección 31 de extracción de
numerales menos significativos y cambia los dígitos que forman el
valor numérico menos significativo y en la sección 21 de
almacenamiento de numerales a 0. La sección 5 de salida produce un
valor numérico redondeado formado por los dígitos reescritos
almacenados en la sección 21 de almacenamiento de numerales. En la
sección 2 de almacenamiento se puede formar una sección de
almacenamiento de numerales redondeados para almacenar un valor
numérico redondeado con independencia de la sección 21 de
almacenamiento de numerales.
En la Fig. 2 se muestra un ejemplo del hardware
del procesador de redondeo mencionado anteriormente, realizado
usando un ordenador.
Este procesador de redondeo comprende un
dispositivo 11 de entrada, un dispositivo 12 de visualización, unos
medios externos 13 de almacenamiento, un soporte 14 de grabación,
una RAM 15, una CPU 16, una ROM 17, una impresora 18, y una línea 19
de bus. El dispositivo 11 de entrada comprende un teclado que tiene
un teclado numérico de diez teclas, un ratón, etcétera, y se usa,
por parte del usuario, para seleccionar el procesado deseado o para
introducir un valor numérico x redondeado y un intervalo de redondeo
w. Los datos introducidos se envían a la CPU 16 a través de la línea
19 de bus. Si es necesario, los datos se almacenan en la RAM 15 ó en
el soporte 14 de grabación en los medios externos 13 de
almacenamiento. El dispositivo 12 de visualización comprende una
pantalla de cristal líquido, un CRT, o un similar, y visualiza un
cuadro deseado de imagen. Los medios externos 13 de almacenamiento
comprenden una controladora de disco duro, una controladora de disco
flexible, una controladora CD-ROM, una controladora
magneto-óptica, o similares. Los medios externos 13 de
almacenamiento registran datos procesados por la CPU 16 en el
soporte 14 de grabación, por ejemplo, un disco duro, un disco
flexible, un CD-ROM, un disco magneto-óptico, o
similares, o envía datos registrados en el soporte 14 de grabación
hacia la CPU 16. Los datos procesados por la CPU 16 se almacenan en
la RAM 15. Si es necesario, los datos son leídos por la CPU 16. En
la ROM 17 ó en el soporte 14 de grabación se almacena un programa
para realizar las funciones del procesador de redondeo mostrado en
la Fig. 1. La CPU 16 controla varios componentes a través de la
línea 19 de bus según este programa. La impresora 18 comprende una
impresora láser o similar, e imprime datos procesados por la CPU
16.
El procesador de redondeo construido de esta
manera y mostrado en la Fig. 2 se corresponde con el procesador de
redondeo mostrado en la Fig. 1 por ejemplo, los aspectos siguientes.
La sección 1 de entrada se corresponde con el dispositivo 11 de
entrada, la RAM 15, y/o los medios externos 13 de almacenamiento. La
sección 2 de almacenamiento se corresponde con la RAM 15 y/o los
medios externos 13 de almacenamiento. La sección 3 de extracción y
la sección 4 de procesado de redondeo se corresponden con la CPU 16.
La sección 5 de salida se corresponde con el dispositivo 12 de
visualización y/o la impresora 18. El programa correspondiente al
procesado de redondeo descrito a continuación se puede almacenar
previamente en la ROM 17. Como alternativa, el programa se puede
instalar desde un soporte 14 de grabación tal como un
CD-ROM, un disco flexible, un disco magneto-óptico,
o una memoria de semiconductor, usando los medios externos 13 de
almacenamiento.
No se impone ninguna limitación sobre el
ordenador descrito anteriormente. Se puede usar un ordenador común.
Por ejemplo se pueden usar un servidor, un ordenador de mesa, un
ordenador portátil, un terminal portátil, o similares. Además, puede
ser un instrumento analítico o un instrumento de mediciones equipado
con un microordenador o similares. Adicionalmente, no se plantean
limitaciones sobre el lenguaje de programación usado. El programa se
puede escribir en términos de varios lenguajes. En el caso de un
instrumento analítico o un instrumento de mediciones, en el soporte
14 de grabación de los medios externos 13 de almacenamiento o en la
RAM 15 se puede incorporar una sección de almacenamiento de
resultados de los cálculos/mediciones para almacenar datos numéricos
de los resultados de las mediciones o experimentos y de los datos de
los resultados de los cálculos. Estos fundamentos se aplican de
forma similar a las descripciones que se proporcionan a
continuación.
Seguidamente se describe de forma detallada el
procesado de redondeo ejecutado por el procesador de redondeo
construido tal como se ha descrito anteriormente. La Fig. 3 es un
diagrama de flujo que ilustra el redondeo realizado por el
procesador de redondeo mostrado en la Fig. 1.
Tal como se muestra en la Fig. 3, en la etapa 1,
desde la sección 1 de entrada se introducen un valor numérico x que
se debe redondear y un intervalo de redondeo w. En la sección 21 de
almacenamiento de numerales se almacenan los dígitos en las
posiciones de dígitos sucesivas del valor numérico x. El intervalo
de redondeo w se almacena en la sección 22 de almacenamiento de
intervalos de redondeo. Un operador humano puede introducir
directamente el valor numérico x mediante el uso de la sección 1 de
entrada. En el caso de un instrumento de medición o similares, en la
sección 21 de almacenamiento de numerales y en la sección 22 de
almacenamiento de intervalos de redondeo se puede introducir valores
numéricos almacenados en la sección de almacenamiento de resultados
de cálculos/mediciones de la sección 2 de almacenamiento.
En la siguiente etapa 2, la sección 32 de
extracción de numerales redondeados extrae un dígito redondeado R de
la sección 21 de almacenamiento de numerales, estando ubicado el
dígito R en una posición de dígito correspondiente al intervalo de
redondeo w. Por ejemplo, si se introduce 12,354 como valor numérico
x y se introduce 0,1 como valor de redondeo w, se extrae el dígito
"3" en la primera posición decimal correspondiente al intervalo
de redondeo de 0,1 de los dígitos "1", "2", "3",
"5" y "4" almacenados en la sección 21 de almacenamiento
de numerales.
En la siguiente etapa 3, el dígito redondeado R
se divide por 2 por medio de la sección 41 de cálculo de restos,
dando como resultado un resto de b el cual es bien 0 ó bien 1. Si el
resto b es 0, el dígito redondeado R es par. Si el resto es 1, el
dígito redondeado R es impar.
En la siguiente etapa 4, la sección 31 de
extracción de numerales menos significativos extrae un valor
numérico menos significativo y compuesto por dígitos de las
sucesivas posiciones de dígito a la derecha de la posición de dígito
correspondiente al intervalo de redondeo w. Por ejemplo, si se
introduce el 12,354 como valor numérico x y se introduce 0,1 como
intervalo de redondeo w, de entre el "1", el "2", el
"3", el "5", y el "4" almacenados en la sección 21 de
almacenamientos de numerales se extrae un numeral menos
significativo 0,054 compuesto por los dígitos "5" y "4" en
las posiciones de dígito a la derecha de la posición de dígito
correspondiente al intervalo de redondeo de 0,1.
En la siguiente etapa 5, la sección sumadora 42
toma una decisión sobre si el intervalo redondeado w es menos que
dos veces el valor numérico menos significativo y o si el intervalo
redondeado w es igual a dos veces el valor numérico menos
significativo y, y, al mismo tiempo, el resto b es 1. Si el
intervalo de redondeo w es menos que dos veces el valor numérico
menos significativo y o si el intervalo redondeado w es igual a dos
veces el valor numérico menos significativo y, y, al mismo tiempo,
el resto b es 1, el control va a la etapa 6. Si el resultado de la
decisión es NO (es decir, el intervalo de redondeo w es mayor que
dos veces el numeral menos significativo o el intervalo de redondeo
w es igual a dos veces el valor numérico menos significativo y, y,
al mismo tiempo, el resto b es 0), el control prosigue hacia la
etapa 7.
Este método se compara con el método de redondeo
según la JIS (Norma Industrial Japonesa) descrita anteriormente.
Cuando el intervalo de redondeo w es menor que dos veces el valor
numérico menos significativo y, un valor numérico compuesto por
dígitos en las posiciones de dígitos sucesivas a la derecha de la
posición de dígito (n+1)ésima es superior a la mitad de 1 unidad en
la posición de dígito enésima, es decir, el dígito en la posición
enésima se incrementa en 1 unidad. Cuando el intervalo redondeado w
es igual a dos veces el valor numérico menos significativo y, y, al
mismo tiempo, el resto b es 1, un valor numérico compuesto por
dígitos en las posiciones de dígitos sucesivas a la derecha de la
posición de dígito (n+1)ésima es la mitad de 1 unidad en la posición
enésima, y el dígito en la posición enésima es 1, 3, 5, 7 ó 9, es
decir, el dígito en la posición enésima se incrementa en 1 unidad.
Cuando el intervalo de redondeo w es mayor que dos veces el valor
numérico menos significativo y, un valor numérico compuesto por
dígitos de los dígitos sucesivos a la derecha de la posición
(n+1)ésima es menor que 1 unidad en la posición enésima, es decir,
se realiza el redondeo. Cuando el intervalo de redondeo w es igual a
dos veces el valor numérico menos significativo y, y, al mismo
tiempo, el resto b es 0, el valor numérico compuesto por dígitos en
las posiciones de dígito a la derecha de la posición (n+1)ésima es
la mitad de 1 unidad en la posición de dígito enésima, y el dígito
en la posición de dígito enésima es 0, 2, 4, 6, u 8, es decir, se
realiza el redondeo. Por esta razón, el procesado de decisión
descrito anteriormente está adaptado para un procesado de decisión
en el redondeo de numerales según la JIS.
En la etapa 5, si el resultado de la decisión es
que el intervalo de redondeo w es menos que dos veces el valor
numérico menos significativo y, o si el intervalo de redondeo w es
igual a dos veces el valor numérico menos significativo y, y, al
mismo tiempo el resto b es 1, en ese caso el control se va a la
etapa 6. Se suma uno al dígito redondeado R, reescribiendo el dígito
redondeado R almacenado en la sección 21 de almacenamiento de
numerales (etapa 6). Si se produce un acarreo en una de las sumas,
el dígito redondeado R se reescribe como 0. Se suma uno al dígito de
la posición de dígito inmediatamente a la izquierda de la posición
de dígito del dígito redondeado R, reescribiendo de este modo el
valor numérico.
En la siguiente etapa 7, se elimina el valor
numérico menos significativo y, y los dígitos que forman el valor
numérico menos significativo y almacenados en la sección 21 de
almacenamiento de numerales se cambian a 0.
Finalmente, en la etapa 8, se da salida a un
valor numérico (es decir, el valor numérico redondeado x) compuesto
por los dígitos reescritos, almacenados en la sección 21 de
almacenamiento de numerales.
Como consecuencia de las etapas 5 a 7, si el
intervalo de redondeo w es menor que dos veces el valor numérico
menos significativo y (es decir, el valor numérico formado por los
dígitos en las posiciones de dígito a la derecha de la posición de
dígito (n+1)ésima es superior a la mitad de 1 unidad en la posición
de dígito enésima, o si el intervalo de redondeo w es igual a dos
veces el valor numérico menos significativo y, y, al mismo tiempo,
el resto b es 1 (es decir, el valor numérico formado por los dígitos
en las posiciones de dígito a la derecha de la posición de dígito
(n+1)ésima es la mitad de 1 unidad de la posición de dígito enésima
y, al mismo tiempo, el dígito en la posición de dígito enésima es 1,
3, 5, 7, ó 9), en ese caso se suma 1 al dígito redondeado R, y se
descarta el valor numérico menos significativo y. De este modo, se
realiza el redondeo por exceso.
Al mismo tiempo, si el intervalo de redondeo w
es mayor que dos veces el valor numérico menos significativo y (es
decir, el valor numérico formado por los dígitos en las posiciones
de dígito a la derecha de la posición de dígito (n+1)ésima es menor
que la mitad de 1 unidad en la posición de dígito enésima), o si el
intervalo de redondeo w es igual a dos veces el valor numérico menos
significativo y, y, al mismo tiempo, el resto b es 0 (es decir, el
valor numérico formado por los dígitos en las posiciones de dígito a
la derecha de la posición (n+1)ésima es la mitad de 1 unidad en la
posición enésima y el numeral en la posición enésima es 0, 2, 4, 6,
u 8), el dígito redondeado R se deja tal como está, y se descarta el
valor numérico menos significativo y. De este modo, se lleva a cabo
una operación de redondeo por defecto.
Por esta razón, debido al procesado descrito
anteriormente, el intervalo de redondeo se puede usar sin cambios
para comparaciones sin convertir dicho intervalo de redondeo a una
posición de dígito. Además, se puede realizar una operación de
redondeo para minimizar el error de redondeo tal como en la JIS. En
el procesado descrito anteriormente, el multiplicador y el divisor
son 2 y por lo tanto en el caso de un sistema binario, las
multiplicaciones y divisiones se pueden realizar simplemente por
medio de operaciones de desplazamiento. Por ello, se puede realizar
una operación de redondeo con menos etapas del proceso.
Consecuentemente, resulta sencillo preparar el programa. Además, se
puede acortar el tiempo de procesado.
A continuación se describe un procesador de
redondeo de acuerdo con una segunda forma de realización de la
invención. La Fig. 4 es un diagrama de bloques de este procesador de
redondeo, el cual realiza operaciones de redondeo usando un
intervalo de redondeo sin cambiarlo. Este procesador mostrado en la
Fig. 4 es similar al procesador de redondeo mostrado en la Fig. 1
excepto que se omite la sección 41 de cálculo de restos del
procesador de redondeo mostrado en la Fig. 1 y que la sección
sumadora 42 sustituye por una sección sumadora 42a que toma
decisiones basándose en diferentes condiciones. Por esta razón, los
componentes iguales se indican por medio de los mismos numerales de
referencia y a continuación no se describirán aquellos componentes
que ya han sido descritos. El hardware del procesador de redondeo
mostrado en la Fig. 4 que se realiza usando un ordenador es similar
al hardware mostrado en la Fig. 2 y por lo tanto el mismo no será
ilustrado.
Tal como se muestra en la Fig. 4, una sección 4a
de procesado de redondeo comprende la sección sumadora 42a y la
sección 43 de descarte. Si el intervalo de redondeo w almacenado en
la sección 22 de almacenamiento de intervalos de redondeo es igual a
o menor que dos veces el valor numérico menos significativo y
extraído por la sección 31 de extracción de numerales menos
significativos, en ese caso la sección sumadora 42a suma 1 al dígito
redondeado R extraído por la sección 32 de extracción de valores
redondeados, y se reescribe el dígito redondeado R almacenado en la
sección 21 de almacenamiento numérico.
A continuación se describe el procesado de
redondeo ejecutado por el procesador de redondeo construido tal como
se ha descrito anteriormente. La Fig. 5 es un diagrama de flujo que
ilustra el procesado de redondeo realizado por el procesador de
redondeo mostrado en la Fig. 4. El diagrama de flujo de la Fig. 5 es
similar al diagrama de flujo de la Fig. 3 excepto que se omite la
etapa 3 del diagrama de flujo de la Fig. 3 y que la etapa 5 se
cambia a la etapa 9. Por esta razón, se describen únicamente sus
diferencias.
Tal como se ilustra en la Fig. 5, en las etapas
1, 2, y 4, se realiza un procesado similar al correspondiente
realizado en las etapas 1, 2, y 4 de la Fig. 3. En la etapa 9, se
toma una decisión sobre si el intervalo de redondeo w es igual a o
menor que dos veces el valor numérico menos significativo y. Si el
resultado de esta decisión es SÍ, el control va a la etapa 6. Si el
resultado de la decisión es NO (es decir, el intervalo de redondeo w
es mayor que dos veces el valor numérico menos significativo y), el
control prosigue hacia la etapa 7. El hecho de que el intervalo de
redondeo w sea igual a o menor que dos veces el valor numérico menos
significativo y significa que el dígito más significativo del número
menos significativo y es igual a o mayor que 5, es decir, se
realiza una operación de redondeo por exceso. El hecho de que el
intervalo de redondeo w sea mayor que dos veces el valor numérico
menos significativo y significa que el dígito más significativo del
valor numérico menos significativo y es 4 ó menor, es decir, se
realiza una operación de redondeo por defecto.
En las siguientes etapas 6 a 8, se realiza un
procesado similar al procesado de las etapas 6 a 8 de la Fig. 3.
Finalmente, se produce un valor numérico compuesto por dígitos
reescritos, almacenados en la sección 21 de almacenamiento de
numerales, es decir, un valor numérico obtenido mediante redondeo
del valor numérico x. Por consiguiente, en la presente forma de
realización, el intervalo de redondeo se puede usar sin cambios para
comparaciones en el procesado de redondeo sin convertir dicho
intervalo de redondeo a una posición de dígito. En el procesado
descrito anteriormente, el 2 se usa como el multiplicador. Por esta
razón, en el sistema binario, las multiplicaciones se realizan
simplemente por medio de operaciones de desplazamiento.
Consecuentemente, el procesado de redondeo se puede realizar con
menos etapas del proceso. Por lo tanto, resulta sencillo preparar el
programa. Además, se puede acortar el tiempo de procesado.
A continuación se describe un procesador de
redondeo según una tercera forma de realización de la presente
invención. La Fig. 6 es un diagrama de bloques que muestra la
estructura de este procesador de redondeo que especifica dígitos
significativos y realiza una operación de redondeo. Esta operación
de redondeo se puede llevar a cabo combinando un procedimiento de
redondeo por defecto ilustrado en la Fig. 9 con un procedimiento de
redondeo por exceso ilustrado en la Fig. 11.
Tal como se muestra en la Fig. 6, el procesador
de redondeo comprende una sección 1 de entrada, una sección 2 de
almacenamiento, una sección aritmética 3, una sección 4 de
procesador de redondeo, y una sección 5 de salida. La sección 2 de
almacenamiento comprende una sección 21 de almacenamiento de dígitos
significativos, una sección 22 de almacenamiento de numerales sin
redondear, una sección 23 de almacenamiento de partes enteras, una
sección 24 de almacenamiento de partes de índices, y una sección 25
de almacenamiento de numerales redondeados. La sección aritmética 3
comprende una sección 31 de cálculo de enteros/índices y una sección
32 de restablecimiento de posiciones de dígitos. El procesador 4 de
redondeo comprende una sección 41 de determinación de cincos, una
sección 42 de discriminación de impares/pares, una sección 43 de
determinación de redondeo, una sección 44 de redondeo por defecto, y
una sección 45 de redondeo por exceso.
La sección 1 de entrada se usa para introducir
un valor numérico x que se debe redondear y el número de dígitos
significativos n. La sección 22 de almacenamiento de numerales sin
redondear almacena todos los dígitos en posiciones de dígito
sucesivas del valor numérico x introducido. La sección 21 de
almacenamiento de dígitos significativos almacena el número
introducido de dígitos significativos n. La sección 31 de cálculo de
enteros/índices calcula un entero K y un índice M con lo que el
valor numérico x almacenado en la sección 22 de almacenamiento de
numerales sin redondear se representa en la forma K x 10^{M}. Es
decir, el numeral original se representa por el producto de K y
10^{M}, en la que K es un numeral cuyo dígito menos significativo
no es cero, y en las posiciones decimales no hay presentes valores
que no sean cero. La sección 24 de almacenamiento de partes de
índices almacena el índice M calculado por la sección 31 de cálculo
de enteros/índices. La sección 23 de almacenamiento de partes
enteras almacena el entero K calculado por la sección 31 de cálculo
de enteros/índices. La sección 41 de determinación de cincos toma un
valor numérico formado por dígitos de las posiciones de dígito del
entero K almacenado en la sección 23 de almacenamiento de partes
enteras las cuales están ubicadas en las posiciones (n+1)ésima y
las siguientes posiciones de dígito, y toma una decisión sobre si
este valor numérico tomado es igual a 5. Si el resultado de la
decisión es SÍ (es decir, es igual a 5), la sección 42 de
discriminación de impares/pares divide el dígito en la posición de
dígito enésima del entero K por 2, y toma una decisión sobre si el
resto es 0. Si la decisión tomada por la sección 41 de determinación
de cincos es que el numeral tomado no es igual a 5, la sección 43 de
determinación de redondeo toma una decisión sobre si el dígito en la
posición de dígito (n+1)ésima del entero K es igual a o mayor que
5. Si la sección 42 de discriminación de impares/pares determina que
el resto es 0, o si la sección 43 de determinación de redondeo
determina que el dígito en la posición de dígito (n+1)ésima no es
igual a o mayor que 5, la sección 44 de redondeo por defecto elimina
dígitos en la posición (n+1)ésima y las siguientes posiciones de
dígito, y reescribe el entero K en la sección 23 de almacenamiento
de partes enteras. La sección 45 de redondeo por exceso incrementa
en 1 el dígito en la posición de dígito enésima del entero K,
elimina los dígitos en las posiciones (n+1)ésima y las siguientes
posiciones de dígito, y reescribe el entero K en la sección 23 de
almacenamiento de partes enteras, si la sección 42 de discriminación
de impares/pares determina que el resto no es cero o si la sección
43 de determinación de redondeo determina que el dígito en la
posición (n+1)ésima es 5 ó mayor. Gracias al procesado descrito
anteriormente, el entero K se redondea con n dígitos significativos
usando el entero K almacenado en la sección 23 de almacenamiento de
partes enteras así como el número de dígitos significativos n
almacenado en la sección 21 de almacenamiento de dígitos
significativos. El entero redondeado L se puede almacenar en la
sección 23 de almacenamiento de partes enteras. La sección 32 de
restablecimiento de posiciones de dígitos calcula L x 10^{M},
usando el entero L almacenado en la sección 23 de almacenamiento de
partes enteras y el índice M almacenado en la sección 24 de
almacenamiento de partes de índices, restablece la posición del
dígito, y almacena el resultado del cálculo en la sección 25 de
almacenamiento de numerales redondeados. La sección 5 de salida
suministra el valor numérico con n dígitos significativos
almacenados en la sección 25 de almacenamiento de valores
redondeados. En lugar de proporcionar la sección 25 de
almacenamiento de valores redondeados, el numeral en la sección 22
de almacenamiento de numerales sin redondear se puede reescribir
directamente, y el numeral que se ha reescrito, en la sección 22 de
almacenamiento de numerales sin redondear, se puede suministrar
desde la sección 5 de salida.
Este procesador de redondeo también se puede
construir usando el hardware mostrado en la Fig. 2 y por ello en
referencia a la Fig. 2 se describe la relación entre el hardware y
el procesador de redondeo usando un ordenador.
El hardware mostrado en la Fig. 2 y el
procesador de redondeo mostrado en la Fig. 6 presentan la siguiente
relación. La sección 1 de entrada se corresponde con el dispositivo
11 de entrada, la RAM 15, y/o los medios externos 13 de
almacenamiento. La sección 2 de almacenamiento se corresponde con la
RAM 15 y/o los medios externos 23 de almacenamiento. La sección
aritmética 3 y la sección 4 de procesado de redondeo se corresponden
con la CPU 16. La sección 5 de salida se corresponde con el
dispositivo 12 de visualización y/o la impresora 18.
A continuación se describe detalladamente el
procesado de redondeo ejecutado por el procesador de redondeo
construido tal como se ha descrito anteriormente. La Fig. 7 es un
diagrama de flujo que ilustra el procesado de redondeo realizado por
el procesador de redondeo mostrado en la Fig. 6.
Haciendo referencia a la Fig. 7, en la etapa 11,
en primer lugar se introducen desde la sección 1 de entrada un valor
numérico x que se debe redondear y el número de dígitos
significativos n. Los dígitos en las posiciones de dígitos sucesivas
del valor numérico x se almacenan en la sección 22 de almacenamiento
de numerales sin redondear. El número de dígitos significativos n se
almacena en la sección 21 de almacenamiento de dígitos
significativos. El valor numérico x lo puede introducir directamente
el operador a través de la sección 1 de entrada. En el caso de un
instrumento de medición y similares, los numerales almacenados en la
sección de almacenamiento de resultados de cálculos/mediciones de la
sección 2 de almacenamiento se pueden cargar en la sección 22 de
almacenamiento de numerales sin redondear y en la sección 21 de
almacenamiento de dígitos significativos.
En la siguiente etapa 12, el valor numérico x
todavía por procesar se divide en una parte entera y una parte de
índice. La sección 31 de cálculo de enteros/índices calcula el
entero K y el índice M en el que x = K x 10^{M}, en el cual el
dígito menos significativo de K es diferente a cero, y el numeral
original se representa en términos de 10^{M} de tal manera que en
las posiciones decimal no hay presentes dígitos que no sean cero.
Por ejemplo, si x es 0,00021, se puede escribir como 21 x 10^{-5}.
De este modo, K es 21 y M es -5. Si el valor numérico x es 320.100,
se puede escribir como 3.201 x 10^{2}. De este modo, el entero K
es 3.201 y el índice M es 2.
En la siguiente etapa 13, el índice calculado M
se almacena en la sección 24 de almacenamiento de partes de índice.
En la etapa 14, los dígitos en las posiciones de dígitos sucesivas
del entero K calculado se almacenan en la sección 23 de
almacenamiento de partes enteras. Por ejemplo, si el entero K es
3.201, los dígitos 3, 2, 0 y 1 en las posiciones de dígitos
sucesivas se almacenan de forma independiente.
En la siguiente etapa 15, un dígito en la
posición de dígito (n+1)ésima y los dígitos en las posiciones de
dígito siguientes del entero K almacenado en la sección 23 de
almacenamiento de partes enteras se devuelven a un numeral por medio
de la sección 41 de determinación de cincos. De este modo, el
numeral se divide en una primera parte entre la posición de dígito
más a la izquierda y la posición de dígito enésima y una segunda
parte en las posiciones de dígito (n+1)ésima y las siguientes
posiciones. Los dígitos en las posiciones de dígito (n+1)ésima y las
siguientes posiciones se toman como un numeral. En la siguiente
etapa 16, la sección 41 de determinación de cincos divide este
numeral tomado por 5, y toma una decisión sobre si el cociente es o
no 1.
En la presente forma de realización, el valor
numérico x todavía por redondear se divide en una parte entera y una
parte de índice, y el número formado por los dígitos en las
posiciones de dígito (n+1)ésima y las siguientes posiciones del
entero K se divide por 5 gracias al procesado descrito
anteriormente. Se puede tomar una decisión sustancialmente igual a
la decisión tomada sobre si los dígitos en las posiciones (n+2)ésima
y las siguientes son todos ceros cuando el dígito en la posición
(n+1)ésima es 5. Esta decisión se ha considerado difícil de tomar
cuando se realiza el redondeo según la JIS. En particular, cuando un
número formado por dígitos en la posición (n+1)ésima y en las
siguientes posiciones de dígito es 5 (es decir, el dígito diferente
a cero, menos significativo, del numeral es 5), se produce el
problema más importante. En la presente invención, el valor numérico
sin redondear x se representa en términos de un índice, y se usa su
parte entera. Por esta razón, en tal caso, el dígito en la primera
posición de dígito ubicada a la izquierda de la coma decimal del
entero K es siempre 5. Como la posición de dígito enésima es la
segunda posición ubicada a la izquierda de la coma decimal del
entero K, si se efectúa el procesado de la etapa 15, el 5 se toma
como un número formado por dígitos en las posiciones (n+1)ésima y
las siguientes. Este numeral tomado 5 se divide por 5, y se toma una
decisión sobre si el cociente es 1. De este modo, se puede encontrar
un caso en el cual el dígito menos significativo del valor numérico
sin redondear x es 5 y que esta posición de dígito se corresponda
con la posición de dígito (n+1)ésima.
Cuando el 0,0125 se redondea con dos dígitos
significativos según la JIS, si el numeral se divide en una parte
entera y una parte de índice, el numeral viene dado por 125 x
10^{-4}. Por esta razón, el entero K es 125 y el índice M es -4.
Si el 125 se divide en una primera porción hasta la parte del dígito
enésimo (en este caso, hasta la parte del segundo dígito) y una
segunda porción en la posición del dígito (n+1)ésimo y las
siguientes posiciones de dígito (en este caso, la posición del
tercer dígito), el numeral se divide en 12 y 5. Si este último
numeral 5 se divide por 5, en ese caso se tiene como resultado 1.
Por otro lado, cuando el 0,0125001 se redondea con dos dígitos
significativos según la JIS, si el numeral se divide en una parte
entera y una parte de índice, se obtiene como resultado el 125.001 x
10^{-7}. Por esta razón, el entero K es 125.001 y el índice M es
-7. Si el 125.001 se divide en una primera porción hasta la posición
del segundo dígito y una segunda porción a la derecha de la posición
del segundo dígito, el numeral se divide en 12 y 5.001. No obstante,
si el 5.001 se divide por 5, el cociente no es igual a 5. Por esta
razón, en este caso, se debería realizar una operación de redondeo
común.
Si el resultado de la decisión tomada en la
etapa 16 es que el cociente (es decir, el numeral formado por los
dígitos en las posiciones del dígito (n+1)ésimo y de los siguientes
dígitos dividido por 5) es 1, el control se va a la etapa 17, en la
que se lee el dígito en la posición del dígito enésimo de la parte
entera K almacenada en la sección 23 de almacenamiento de partes
enteras. Se toma una decisión sobre si el resto que se produce
cuando el dígito en la posición enésima se divide por 2 es o no 0.
Si se determina que el resto es 0 (es decir, el dígito en la
posición enésima es par), la sección 44 de redondeo por defecto
elimina los dígitos en las posiciones del dígito (n+1)ésimo y de los
siguientes dígitos. Si el resultado de la decisión es que el resto
no es 0 (es decir, el numeral en la posición del dígito enésimo es
impar), la sección 45 de redondeo por exceso incrementa en 1 el
dígito de la posición enésima y elimina los dígitos en las
posiciones del dígito (n+1)ésimo y de los siguientes dígitos,
realizando de este modo un redondeo por exceso.
Si el resultado de la decisión tomada en la
etapa 16 es que el cociente (el numeral formado por los dígitos en
las posiciones (n+1)ésima y las siguientes dividido por 5) no es 1,
se realiza una operación de redondeo común (etapas 20, 19, y 21). Es
decir, en la etapa 16, se detecta un caso en el cual el dígito en la
posición del dígito (n+1)ésimo es 5 y todos los dígitos en las
posiciones del dígito (n+2)ésimo y de los siguientes dígitos son
cero. En otros casos, si se realiza una operación de redondeo común,
es posible adaptarse a la JIS. En primer lugar, en la etapa 20, la
sección 43 de determinación de redondeo lee el dígito de la posición
del dígito (n+1)ésimo y toma una decisión sobre si el mismo es igual
a o mayor que 5. Llegado a este punto, si el dígito en la posición
del dígito (n+1)ésimo es igual a o mayor que 5, el control prosigue
hacia la etapa 19, en la que se realiza un redondeo por exceso. Si
el dígito en la posición del dígito (n+1)ésimo no es igual a o mayor
que 5, es decir, igual a o menor que 4, el control se va a la etapa
21, en la que se efectúa una operación de redondeo por defecto. El
entero K se redondea por medio del procesado descrito
anteriormente.
La sección 32 de restablecimiento de posiciones
de dígito lee el índice M de la sección 24 de almacenamiento de
partes de índice (etapa 22), y multiplica el entero L redondeado por
defecto por la parte de índice 10^{M} y almacena el producto en la
sección 25 de almacenamiento de valores redondeados (etapa 23).
Finalmente, en la etapa 24, se da salida al numeral almacenado en la
sección 25 de almacenamiento de valores redondeados a través de la
sección 5 de salida (etapa 209).
Cuando el procesado ilustrado en la Fig. 7 se
realiza en el ejemplo descrito anteriormente en el cual 0,0125 y
0,0125001 se redondean con dos dígitos significativos, el numeral
varía desde la entrada a la salida según la forma descrita a
continuación.
En el caso de 0,0125, el mismo viene dado por
125 x 10^{-4} y por lo tanto el entero K es 125 y el índice es -4.
Por consiguiente, el índice -4 se escribe en la sección 24 de
almacenamiento de partes de índices (etapa 13). Con respecto al
entero K, los dígitos 1, 2, y 5 en las posiciones de los dígitos
sucesivos se escriben en la sección 23 de almacenamiento de partes
enteras (etapa 14).
Si los dígitos en las posiciones del dígito
(n+1)ésimo y de los siguientes dígitos (es decir, las posiciones del
tercer dígito y de los siguientes dígitos) del entero K se devuelven
a un numeral, se extrae el 5 (etapa 15). Si este 5 se divide por 5
(etapa 16), se obtiene un cociente de 1. De este modo, se realiza el
procesado de la etapa 17. En este caso, el dígito en la posición
enésima, es decir, la segunda posición, es 2. Este se divide por 2,
dando como resultado un resto de 0. El control se va a la etapa 18,
en la que se eliminan los dígitos en las posiciones (n+1)ésima y las
siguientes, es decir, las posiciones tercera y las siguientes. El
resultado del procesado es 120.
Se lee el índice -4 almacenado en la sección 24
de almacenamiento de partes de índice (etapa 22). Se realiza el
cálculo 120 x 10^{-4} (etapa 23). El resultado del cálculo es
0,012, el cual se obtiene en la salida (etapa 24).
En el caso del 0,0125001, el mismo viene dado
por 125.001 x 10^{-7}. De este modo, el entero K es 125.001, y el
índice M es -7. Así, el índice -7 se escribe en la sección 24 de
almacenamiento de partes de índice (etapa 13). Con respecto al
entero K, los dígitos 1, 2, 5, 0, 0, y 1 en las posiciones de los
dígitos sucesivos se almacenan en la sección 23 de almacenamiento de
partes de índice (etapa 14).
Si los dígitos en las posiciones del dígito
(n+1)ésimo y de los siguientes dígitos, es decir, la tercera
posición y las siguientes, del entero K se devuelven a un numeral,
se toma el 5.001 (etapa 15). Si este 5.001 se divide por 5 (etapa
16), el cociente no es 1 y por lo tanto se realiza el procesado de
la etapa 20. En este caso, el dígito en la posición (n+1)ésima, es
decir, la tercera posición, es 5. Por esta razón, el control se va a
la etapa 19, en la que se realiza un redondeo por exceso. El
resultado del procesado es 130.000.
Se lee el índice de -7 de la sección 24 de
almacenamiento de partes de índice (etapa 22), y se realiza el
cálculo 130.000 x 10^{-7} (etapa 23). Se da salida al producto de
0,013 (etapa 24).
En la descripción proporcionada anteriormente,
para evitar la confusión de las posiciones de los dígitos, un
numeral formado por los dígitos en las posiciones del dígito
(n+1)ésimo y los siguientes se divide por 5, y se toma una decisión
sobre si el cociente es o no 1 (etapa 16). Como alternativa, se
puede tomar inmediatamente una decisión sobre si este numeral es o
no 5.
A continuación se describe un procesador de
redondeo según una cuarta forma de realización de la presente
invención. La Fig. 8 es un diagrama de bloques que muestra la
estructura del procesador de redondeo según la cuarta forma de
realización. Este procesador de redondeo realiza el procesado de
redondeo haciendo uso del redondeo que usa dígitos significativos.
Este procesador de redondeo mostrado en la Fig. 8 es similar al
procesador de redondeo ya descrito en relación con la Fig. 6 excepto
que se eliminan la sección 41 de determinación de cincos, la sección
42 de discriminación de impares/pares, la sección 43 de
determinación de redondeo, y la sección 45 de redondeo por exceso
del procesador mostrado en la Fig. 6 y que se realiza únicamente un
redondeo por defecto por medio de una sección 44 de redondeo por
defecto. Obsérvese que los componentes iguales vienen indicados por
los mismos numerales de referencia en las diversas figuras y que
aquellos componentes que ya han sido descritos no se describirán
detalladamente a continuación. La estructura del hardware del
procesador de redondeo mostrado en la Fig. 8 realizado usando un
ordenador es similar a la estructura mostrada en la Fig. 2 y por lo
tanto la estructura del hardware no se ilustrará.
El procesado de redondeo se realiza por medio
del procesador de redondeo según la forma que se describe a
continuación. La Fig. 9 es un diagrama de flujo que ilustra el
procesado de redondeo realizado por el procesador de redondeo
mostrado en la Fig. 8. El diagrama de flujo de la Fig. 9 es similar
al diagrama de flujo de la Fig. 7 excepto que las etapas 15 a 21 se
sustituyen por las etapas 31 y 32. De este modo, se describen
únicamente las diferencias.
Haciendo referencia a la Fig. 9, en las etapas
11 a 14, se realiza un procesado similar al procesado de las etapas
11 a 14 mostrado en la Fig. 7. En la etapa 31, la sección 44 de
redondeo por defecto cambia a 0 los dígitos en las posiciones del
dígito (n+1)ésimo y de los siguientes dígitos (contando a partir de
la posición del dígito más a la izquierda) del entero K almacenado
en la sección 23 de almacenamiento de partes enteras. En esta fase,
los dígitos que forman el numeral redondeado por defecto se
almacenan de forma independiente en la sección 23 de almacenamiento
de partes enteras. De este modo, en la etapa 32, la sección 32 de
restablecimiento de posiciones de dígitos convierte estos valores
de las diferentes posiciones de dígitos en un numeral. Por ejemplo,
los dígitos 3, 2, 0, 0 los cuales están en diferentes posiciones de
dígito y almacenados en la memoria se convierten en un numeral
3.200. Estas etapas 31 y 32 realizan una operación de redondeo por
defecto. Para realizar el redondeo por defecto se pueden usar varios
procesos convencionales diferentes al método de procesado ilustrado.
Se aplica el mismo fundamento al redondeo por defecto realizado en
la tercera forma de realización descrita anteriormente.
En las etapas 22 a 24, se realiza un procesado
similar al procesado de las etapas 22 a 24 ilustrado en la Fig. 7.
El índice M almacenado en la sección 24 de almacenamiento de partes
de índice se multiplica por el entero redondeado por defecto L,
produciendo de este modo un numeral redondeado por defecto.
Según el diagrama de flujo ilustrado en la Fig.
9, el 0,205 se redondea por defecto con dos dígitos significativos.
En la etapa 11, se introduce el 0,205 como valor numérico x, y se
introduce el 2 como el número de dígitos significativos n. En la
etapa 12, el 0,205 se separa en una parte entera y una parte de
índice, dando como resultado 205 x 10^{-3}. En la etapa 13, en la
sección 24 de almacenamiento de partes de índice se almacena un
índice M de -3. En la etapa 14, el 205 que es el índice M se divide
en 2, 0, y 5 y se almacena sucesivamente en la sección 23 de
almacenamiento de partes enteras. En la etapa 31, los dígitos en la
posición del dígito (n+1)ésimo y las siguientes posiciones de
dígitos se cambian a 0. En este caso, el dígito menos significativo
5 se cambia a 0. En la etapa 32, una fila de dígitos 2, 0, 0 en la
sección 23 de almacenamiento de partes enteras se convierte en un
numeral 200. En la etapa 22, se va a buscar el numeral -3 almacenado
en la sección 24 de almacenamiento de partes de índice. En la etapa
23, se realiza el cálculo 200 x 10^{-3}, dando como resultado un
numeral redondeado por defecto de 0,20.
A continuación se describe un procesador de
redondeo según una quinta forma de realización de la presente
invención. La Fig. 10 es un diagrama de bloques que muestra la
estructura de este procesador de redondeo según la quinta forma de
realización. Este procesador realiza el procesado de redondeo
haciendo uso de un redondeo por exceso usando dígitos
significativos. Este procesador de redondeo mostrado en la Fig. 10
es similar al procesador de redondeo mostrado en la Fig. 6 excepto
que se han omitido la sección 41 de determinación de cincos, la
sección 42 de discriminación de impares/pares, la sección 43 de
determinación de redondeo, y la sección 44 de redondeo por defecto y
que únicamente una sección 45 de redondeo por exceso realiza una
operación de redondeo por exceso. Obsérvese que los componentes
iguales se indican por medio de los mismos numerales de referencia
en las diversas figuras y que aquellos componentes que ya han sido
descritos no se describirán detalladamente a continuación. El
hardware del procesador de redondeo mostrado en la Fig. 10 el cual
se realiza usando un ordenador es similar al correspondiente
mostrado en la Fig. 2 y por lo tanto dicho hardware no se
ilustra.
A continuación se describe el procesado de
redondeo ejecutado por el procesador de redondeo descrito
anteriormente. La Fig. 11 es un diagrama de flujo que ilustra el
procesado realizado por el procesador de redondeo mostrado en la
Fig. 10. El diagrama de flujo de la Fig. 11 es similar al diagrama
de flujo de la Fig. 7 excepto que las etapas 16 a 21 del diagrama de
flujo de la Fig. 10 se han sustituido por las etapas 41 a 46. Por
esta razón, a continuación únicamente se describen las
diferencias.
Haciendo referencia a la Fig. 11, en las etapas
11 a 15, se realiza el mismo procesado que el procesado de las
etapas 11 a 15 ilustrado en la Fig. 7. En la etapa 41, la sección 45
de redondeo por exceso toma una decisión sobre si un numeral formado
por los dígitos en las posiciones de dígito (n+1)ésima y las
siguientes posiciones de dígito es igual a o mayor que 1. No se
realiza ninguna operación de redondeo por exceso a no ser que sea
igual a o mayor que 1, y el control se va a la etapa 46. Si este
numeral es igual a o mayor que 1, la sección 45 de redondeo por
exceso realiza el procesado de reescritura de las etapas 42 a
45.
En la etapa 42, se recuperan los dígitos
originales desde la posición del dígito más a la izquierda hasta la
posición enésima del dígito y los mismos se convierten en un
numeral. En la siguiente etapa 43, a este numeral se le suma 1. En
la etapa 44, los dígitos en las posiciones de dígitos sucesivas se
almacenan nuevamente de forma sucesiva en la sección 23 de
almacenamiento de partes enteras. En la siguiente etapa 45, los
dígitos en la posición (n+1)ésima de dígito y las siguientes
posiciones de dígito de la parte entera K almacenada se cambian a
0.
En la siguiente etapa 46, una sección 3 de
cálculo de enteros/índices va a buscar los dígitos en las posiciones
sucesivas de dígito a partir de la sección 23 de almacenamiento de
partes enteras. Los dígitos se devuelven a un numeral. Estas etapas
41 a 46 se usan para realizar una operación de redondeo por exceso.
Para realizar el redondeo por exceso se pueden usar varios procesos
convencionales que sean diferentes al método de procesado ilustrado.
Se aplica el mismo principio al redondeo por exceso realizado en la
tercera forma de realización descrita anteriormente.
En las etapas 22 a 24, se realiza el mismo
procesado que el procesado de las etapas 22 a 24 ilustrado en la
Fig. 7. El índice M almacenado en la sección 24 de almacenamientos
de partes de índices se multiplica por el entero L redondeado por
exceso, y se da salida a un numeral redondeado por exceso.
En el procedimiento de procesado descrito
anteriormente, en este momento se redondea por exceso el 1.270.400
con dos dígitos significativos. En primer lugar, en la etapa 11, se
introduce el 1.270.400 como valor numérico x, y se introduce 2 como
número de dígitos significativos n. Como el 1.270.400 viene dado por
12.704 x 10^{2}, el entero K es 12.704 y el índice M es 2. Por
esta razón, en la sección 24 de almacenamiento de partes de índice
se almacena "2" (etapa 13). Los dígitos 1, 2, 7, 0, y 4 se
almacenan sucesivamente en la sección 23 de almacenamiento de partes
enteras (etapa 14).
En la etapa 15, se toman los dígitos 7, 0, y 4
en las posiciones (n+1)ésima de dígito y las siguientes posiciones
de dígito y los mismos se convierten en un numeral 704. Como este
numeral es mayor que 1, el control se va a la etapa 42 (etapa 41).
En la etapa 42, los dígitos 1 y 2 en las posiciones de dígito hasta
la posición de dígito enésima del entero K, es decir, hasta la
segunda posición de dígito, se extraen y son convertidos en un
numeral 12. En la etapa 43, a este numeral se le suma "1",
dando como resultado 13. Los dígitos del numeral se almacenan
nuevamente de forma sucesiva en la sección 23 de almacenamiento de
partes enteras (etapa 44). Como consecuencia de este procesado, los
dígitos 1, 3, 7, 0, y 4 se almacenan sucesivamente en la sección 23
de almacenamiento de partes enteras. Los dígitos 7, 0, y 4 en las
posiciones de dígito (n+1)ésima y las siguientes posiciones de
dígito, es decir, la tercera y las siguientes posiciones de dígito,
se cambian a 0 (etapa 45). Los dígitos almacenados en la sección 23
de almacenamiento de partes enteras son 1, 3, 0, 0, y 0. La
conversión de estos dígitos de vuelta a un numeral da origen al
13.000 (etapa 46). Finalmente, se lee el "2" de la sección 24
de almacenamiento de partes de índice (etapa 22). Se realiza una
multiplicación 13.000 x 10^{2} (etapa 23). Se da salida al
producto de 1.300.000 (etapa 24).
A continuación se describe un procesador de
redondeo según una sexta forma de realización de la presente
invención. La Fig. 12 es un diagrama de bloques que muestra la
configuración del procesador de redondeo según la sexta forma de
realización. Este procesador de redondeo sirve para realizar el
procesado de aproximación numérica mediante redondeo usando dígitos
significativos. Este procesador de redondeo mostrado en la Fig. 12
es similar al procesador de redondeo mostrado en la Fig. 6 excepto
que se omiten la sección 41 de determinación de cincos y la sección
42 de discriminación de impares/pares del procesador de redondeo
mostrado en la Fig. 6 y que una sección 44 de redondeo por defecto
realiza el redondeo por defecto o una sección 45 de redondeo por
exceso realiza el redondeo por exceso, dependiendo del resultado de
la decisión tomada por la sección 43 de determinación de redondeo.
Los componentes iguales se indican por medio de los mismos numerales
de referencia en las diversas figuras y aquellos componentes que ya
han sido descritos no se describirán detalladamente. El hardware del
procesador de redondeo mostrado en la Fig. 12, realizado usando un
ordenador, es similar al mostrado en la Fig. 2 y por lo tanto el
mismo no será ilustrado.
El procesador de redondeo descrito anteriormente
realiza el procesado de redondeo tal como se describe a
continuación. La Fig. 13 es un diagrama de flujo que ilustra el
procesado de redondeo realizado por el procesador de redondeo
mostrado en la Fig. 12. El diagrama de flujo de la Fig. 13 es
similar al diagrama de flujo de la Fig. 7 excepto que las etapas 15
a 21 de la Fig. 7 se han sustituido por las etapas 51 a 53.
Tal como se ilustra en la Fig. 13, en las etapas
11 a 14, se realiza el mismo procesado que el procesado realizado
mediante las etapas 11 a 14 ilustrado en la Fig. 7. En la etapa 51,
una sección 4 de determinación de redondeo lee el dígito en la
posición (n+1)ésima de dígito de la sección 23 de almacenamiento de
partes enteras y toma una decisión sobre si el dígito es igual a o
mayor que 5. Si el resultado de la decisión es SÍ, el control se va
a la etapa 53, en la que se realiza el redondeo por exceso. Si el
resultado de la decisión es NO, el control prosigue hacia la etapa
52, en la que se lleva a cabo el redondeo por defecto. Dichos
redondeos por exceso y redondeo por defecto pueden ser las
operaciones ilustradas en la Fig. 9 (etapas 31 y 32) o las
operaciones ilustradas en la Fig. 11 (de la etapa 15 a la etapa 46).
Además, se pueden utilizar varios algoritmos convencionales.
En las etapas 22 a 24, se realiza el mismo
procesado que el procesado ejecutado por las etapas 22 a 24
ilustrado en la Fig. 7. El índice M almacenado en la sección 24 de
almacenamiento de partes de índice se multiplica por el entero L
redondeado por defecto, produciendo un numeral redondeado por
defecto.
En las formas de realización tercera a sexta
descritas anteriormente, el numeral a procesar se separa en una
parte entera y una parte de índice. Por esta razón, la posición del
dígito que se debe redondear se puede especificar mediante el número
de dígitos significativos. Cuando se realiza el redondeo
especificado por la JIS tal como en la tercera forma de realización,
el numeral se divide en una parte entera y una parte de índice. A
continuación, el dígito en la posición (n+1)ésima y los dígitos
siguientes a este último se toman como un numeral y se dividen por
5. Consecuentemente, se puede tomar una decisión sobre si el dígito
en la posición de dígito (n+1)ésima es 5 y el dígito diferente a
cero de más a la derecha con bastantes pocas bifurcaciones
condicionales. Por ello, el procesado se puede realizar rápidamente.
Además, el programa se puede crear con más facilidad.
Tal como se ha descrito anteriormente, con el
procesador de redondeo según la presente invención, resulta sencillo
crear un programa. Además, se puede acortar el tiempo de procesado.
Esto significa que el procesador se puede realizar mediante software
sin que prácticamente le afecte la capacidad de procesado del
ordenador. El procedimiento de procesado según la presente invención
se puede aplicar a diversas aplicaciones que usen el redondeo. Entre
los ejemplos de aplicación de la presente invención se incluyen:
(1) El procesado de redondeo se incorpora como
una función en un programa de una hoja de cálculo. Entre los
ejemplos de programas de software de hoja de cálculo se incluyen
Excel, Lotus 1-2-3, y Sanshiro
(distribuido en Japón).
(2) El procesado de redondeo se incorpora en
programas de software para encontrar concentraciones de óxido de
nitrógeno y programas de software para encontrar las concentraciones
de componentes de productos químicos.
(3) El procesado de redondeo se incorpora en
instrumentos analíticos e instrumentos de medición que incluyen
instrumentos de análisis electroquímico, instrumentos de análisis
optoquímico, instrumentos de análisis electromagnético, instrumentos
de análisis de aislamiento, e instrumentos de termoanálisis.
(4) El procesado de redondeo se incorpora en
instrumentos para medir cantidades físicas y propiedades físicas
incluyendo termómetros, higrómetros, sensores del punto de rocío,
fotómetros, y colorímetros.
(5) El procesado de redondeo se incorpora en
instrumentos especiales tales como instrumentos relacionados con
desarrollos e investigaciones, instrumentos biológicos, instrumentos
agrícolas, instrumentos asociados a la silvicultura, instrumentos
asociados a productos marinos, instrumentos asociados a la
ganadería, instrumentos meteorológicos, e instrumentos de
observación oceanográfica.
(6) El procesado de redondeo se usa para
operaciones con vistas a exámenes y registros en la ISO 9000 y la
ISO 14000.
Por ejemplo, se puede incorporar en hardware de
pruebas, mediciones, y monitorización o se puede usar con programas
de software para pruebas, mediciones, y monitorización.
Claims (6)
1. Aparato de redondeo decimal que
comprende:
una sección (1) de entrada para introducir un
valor numérico x que se debe redondear y un intervalo de redondeo
w;
una primera sección (21) de almacenamiento para
almacenar el valor numérico x introducido;
una segunda sección (22) de almacenamiento para
almacenar el intervalo de redondeo w; y,
una sección (4) de procesado de redondeo para
redondear el valor numérico x almacenado en dicha primera sección
(21) de almacenamiento con una posición de dígito determinada por el
intervalo de redondeo w almacenado en dicha segunda sección (22) de
almacenamiento,
caracterizado porque dicho aparato de
redondeo está especialmente adaptado de manera que:
(A) dicha sección (1) de entrada introduce el
intervalo de redondeo w;
(B) dicha primera sección de almacenamiento
comprende una sección (21) de almacenamiento de numerales para
almacenar dígitos en posiciones de dígito sucesivas del valor
numérico x introducido;
(C) dicha segunda sección de almacenamiento
comprende una sección (22) de almacenamiento de intervalos de
redondeo para almacenar el intervalo de redondeo w introducido;
(D) dicha sección de procesado de redondeo
comprende
una sección (31) de extracción de numerales
menos significativos para extraer un valor numérico menos
significativo y compuesto por dígitos en las posiciones de dígito a
la derecha de una posición de dígito correspondiente al intervalo de
redondeo w almacenado en dicha sección (22) de almacenamiento de
intervalos de redondeo, y
una sección de procesado de redondeo de
intervalos de redondeo para sustituir el valor numérico x almacenado
en dicha sección (21) de almacenamiento de numerales por la salida,
la cual es, un valor numérico seleccionado de entre una secuencia de
múltiplos del intervalo de redondeo w almacenado en dicha sección
(22) de almacenamiento de intervalos de redondeo según el resultado
de una comparación del intervalo de redondeo w almacenado en dicha
sección (22) de almacenamiento de intervalos de redondeo con dos
veces el valor numérico menos significativo y extraído por dicha
sección de extracción de numerales menos significativos;
(E) se proporciona además una sección (32) de
extracción de numerales redondeados para extraer un dígito
redondeado R del valor numérico x almacenado en dicha sección (21)
de almacenamiento de numerales, estando el dígito de redondeo R en
una posición de dígito correspondiente al intervalo de redondeo w
almacenado en dicha sección (22) de almacenamiento de intervalos de
redondeo; y,
(F) dicha sección (4) de redondeo de intervalos
de redondeo comprende: una sección (41) de cálculo de restos para
calcular un resto b que se produce cuando el dígito redondeado R
extraído por dicha sección de extracción de numerales redondeados se
divide por 2; una sección sumadora (42) para sumar 1 al dígito
redondeado R extraído por dicha sección (32) de extracción de
numerales redondeados si el intervalo de redondeo w almacenado en
dicha sección (22) de almacenamiento de intervalos de redondeo es
menor que dos veces el valor numérico menos significativo y extraído
por dicha sección (31) de extracción de numerales menos
significativos o si el intervalo de redondeo w almacenado en dicha
sección (22) de almacenamiento de intervalos de redondeo es igual a
dos veces el valor numérico menos significativo y extraído por dicha
sección (31) de extracción de numerales menos significativos y, al
mismo tiempo, el resto b calculado por dicha sección (41) de cálculo
de restos es 1; y una sección (43) de descarte para descartar el
valor numérico menos significativo y extraído por dicha sección (31)
de extracción de numerales menos significativos.
2. Aparato de redondeo decimal que
comprende:
una sección (1) de entrada para introducir un
valor numérico x que se debe redondear y un número de dígitos
significativos n;
una primera sección (22) de almacenamiento para
almacenar el valor numérico introducido x;
una segunda sección (21) de almacenamiento para
almacenar el número introducido de dígitos significativos n; y,
una sección (4) de procesado de redondeo para
redondear el valor numérico x almacenado en dicha primera sección
(22) de almacenamiento con una posición de dígito determinada por el
número de dígitos significativos n almacenados en dicha segunda
sección (21) de almacenamiento,
caracterizado porque dicho aparato de
redondeo está especialmente adaptado de manera que:
(A) dicha sección (1) de entrada introduce el
número de dígitos significativos n;
(B) dicho aparato de redondeo comprende además
una sección (31) de cálculo de enteros/índices para calcular un
entero K y un índice M con lo que el valor numérico x introducido
por la sección (1) de entrada viene dado por K x 10^{M}, en la que
K tiene un dígito menos significativo diferente a cero, de tal
manera que en las posiciones decimales no hay presentes valores
diferentes a cero;
(C) dicha primera sección de almacenamiento
comprende una sección (24) de almacenamiento de partes de índice
para almacenar el índice M calculado por dicha sección (31) de
cálculo de enteros/índices y una sección (23) de almacenamiento de
partes enteras para almacenar el entero K calculado por dicha
sección (31) de cálculo de enteros/índices;
(D) dicha segunda sección de almacenamiento
comprende una sección (21) de almacenamiento de dígitos
significativos para almacenar el número de dígitos significativos n
introducidos;
(E) dicha sección de procesado de redondeo
comprende una sección de redondeo de dígitos significativos para
redondear el entero K con el número de dígitos significativos n,
usando el entero K almacenado en dicha sección (23) de
almacenamiento de partes enteras y el número de dígitos
significativos n almacenados en dicha sección (21) de almacenamiento
de dígitos significativos, con vistas a calcular un entero L; y
(F) dicho aparato de redondeo comprende además
una sección (32) de restablecimiento de posiciones de dígito para
calcular la salida L x 10^{M} usando el entero L calculado por
dicha sección de redondeo de dígitos significativos y el índice M
almacenado en dicha sección de almacenamiento de partes de
índice,
en el que dicha sección de redondeo de dígitos
significativos comprende:
una sección (41) de determinación de cincos para
convertir en un numeral los dígitos en las posiciones de dígito
(n+1)ésima y las siguientes posiciones del entero K almacenado en
dicha sección (24) de almacenamiento de partes enteras y tomar una
decisión sobre si el numeral convertido es igual a 5;
una sección (42) de discriminación de
impares/pares para dividir por 2 un dígito en la posición de dígito
enésima del entero K y tomar una decisión sobre si el resto es 0 si
dicha sección (41) de determinación de cincos determina que el
numeral formado por dígitos en las posiciones de dígito (n+1)ésima y
las siguientes es igual a 5;
una sección (43) de determinación de redondeo
para tomar una decisión sobre si un dígito en la posición de dígito
(n+1)ésima del entero K es igual a o mayor que 5 si dicha sección
(41) de determinación de cincos determina que el numeral formado por
dígitos en las posiciones de dígito (n+1)ésima y las siguientes no
es igual a 5;
una sección (44) de redondeo por defecto para
descartar dígitos en las posiciones de dígito (n+1)ésima y las
siguientes con vistas a calcular el entero L si dicha sección (42)
de discriminación de pares/impares determina que el resto es 0 ó si
dicha sección (43) de determinación de redondeo determina que el
dígito en la posición de dígito (n+1)ésima no es igual a o mayor que
5; y
una sección (45) de redondeo por exceso para
incrementar en 1 el dígito en la posición de dígito enésima y
descartar los dígitos en las posiciones de dígito (n+1)ésima y las
siguientes con vistas a calcular el entero L si la sección (42) de
discriminación de pares/impares determina que el resto no es 0 ó si
dicha sección (43) de determinación de redondeo determina que el
dígito en la posición de dígito (n+1)ésima es igual a o mayor que
5.
3. Método de redondeo decimal que comprende
las siguientes etapas:
introducir un valor numérico x que se debe
redondear y un intervalo de redondeo w;
almacenar el valor numérico introducido x;
almacenar el intervalo de redondeo w
introducido; y,
redondear el valor numérico x almacenado con una
posición de dígito determinada por el intervalo de redondeo w
almacenado,
caracterizado porque,
(A) dicha etapa en la que se introduce el
valor numérico x y el intervalo de redondeo w incluye la
introducción del intervalo de redondeo w por medio de una sección
(1) de entrada;
(B) dicha etapa en la que se almacena el valor
numérico x introducido incluye el almacenamiento de dígitos en
posiciones de dígito sucesivas del valor numérico x introducido en
una sección (21) de almacenamiento de numerales;
(C) dicha etapa en la que se almacena el
intervalo de redondeo w introducido incluye el almacenamiento del
intervalo de redondeo w introducido en una sección (22) de
almacenamiento de intervalos de redondeo; y
(D) dicha etapa en la que se redondea el valor
numérico x comprende la extracción de un valor numérico menos
significativo y formado por dígitos en las posiciones de dígito a la
derecha de una posición de dígito correspondiente al intervalo de
redondeo w almacenado en dicha sección (22) de almacenamiento de
intervalos de redondeo a partir del valor numérico x almacenado en
dicha sección (21) de almacenamiento de numerales, y la sustitución
del valor numérico x almacenado en dicha sección (21) de
almacenamiento de numerales por la salida la cual es un valor
numérico seleccionado de entre una secuencia de múltiplos del
intervalo de redondeo w almacenado en dicha sección (22) de
almacenamiento de intervalos de redondeo según el resultado de una
comparación del intervalo de redondeo w almacenado en dicha sección
(22) de almacenamiento de intervalos de redondeo con dos veces el
valor numérico menos significativo y,
comprendiendo además el método la etapa en la
que se extrae un dígito redondeado R situado en una posición de
dígito correspondiente al intervalo de redondeo w almacenado en
dicha sección (22) de almacenamiento de intervalos de redondeo del
valor numérico x almacenado en dicha sección (21) de almacenamiento
de numerales, y en el que
dicha etapa en la que se sustituye el valor
numérico x por el valor numérico seleccionado comprende: el cálculo
de un resto b cuando dicho dígito redondeado extraído R se divide
por 2; la suma de 1 a dicho dígito redondeado extraído R si el
intervalo de redondeo w almacenado en dicha sección (22) de
almacenamiento de intervalos es menor que dos veces dicho valor
numérico menos significativo extraído y o si el intervalo de
redondeo w almacenado en dicha sección (22) de almacenamiento de
intervalos de redondeo es igual a dos veces dicho valor numérico
menos significativo extraído y, y, al mismo tiempo, el resto
calculado b es 1, y el descarte del valor numérico menos
significativo extraído y.
4. Método de redondeo decimal que comprende
las siguientes etapas:
introducir un valor numérico x que se debe
redondear y un número de dígitos significativos n;
almacenar el valor numérico introducido x;
almacenar el número introducido de dígitos
significativos n; y,
redondear el valor numérico almacenado x con una
posición de dígito determinada por el número almacenado de dígitos
significativos n,
caracterizado porque:
(A) dicha etapa en la que se introduce el
valor numérico x y el número de dígitos significativos n incluye la
introducción del número de dígitos significativos n por medio de una
sección (1) de entrada,
(B) dicho método de redondeo comprende además
la etapa en la que se calculan un entero K y un índice M con lo que
el valor numérico x introducido por la sección (1) de entrada viene
dado por K x 10^{M}, en la que K tiene un dígito menos
significativo diferente de cero, de tal manera que en posiciones
decimales no hay presentes valores diferentes de cero,
(C) dicha etapa en la que se almacena el valor
numérico introducido x comprende el almacenamiento del índice
calculado M en una sección (24) de almacenamiento de partes de
índice y el entero K en una sección (23) de almacenamiento de partes
enteras,
(D) dicha etapa en la que se almacena el número
introducido de dígitos significativos n comprende el almacenamiento
del número introducido de dígitos significativos n en una sección
(21) de almacenamiento de dígitos significativos; y
(E) dicha etapa en la que se redondea el valor
numérico x incluye el redondeo del entero K con n dígitos
significativos mediante el uso del entero K almacenado en dicha
sección (24) de almacenamiento de partes enteras y el número de
dígitos significativos n almacenado en dicha sección (21) de
almacenamiento de dígitos significativos para calcular un entero L,
y el cálculo de la salida L x 10^{M} usando el entero calculado L
y el índice M almacenado en dicha sección (23) de almacenamiento de
partes de índice,
en el que dicha etapa en la que se redondea el
entero K con n dígitos significativos comprende las siguientes
etapas:
convertir los dígitos en la posición de dígito
(n+1)ésima y las posiciones de dígito siguientes del entero K
almacenado en la sección (24) de almacenamiento de partes enteras en
un numeral y tomar una decisión sobre si este numeral es igual a
5;
dividir por 2 un dígito en la posición de dígito
enésima del entero K y tomar una decisión sobre si el resto es 0 si
el resultado de la decisión en la etapa anterior es que dicho
numeral convertido es igual a 5;
tomar una decisión sobre si un dígito en la
posición de dígito (n+1)ésima del entero K es igual a o mayor que 5
si el resultado de la decisión en la etapa anterior es que dicho
numeral convertido no es igual a 5;
descartar dígitos en la posición de dígito
(n+1)ésima y las posiciones de dígito siguientes si se determina que
dicho resto es 0 en la etapa anterior o si se determina que el
dígito en la posición de dígito (n+1)ésima del entero K no es igual
a o mayor que 5 en la etapa inmediatamente anterior; e
incrementar en 1 el dígito en la posición de
dígito enésima y descartar dígitos en la posición de dígito
(n+1)ésima y las posiciones de dígito siguientes para calcular el
entero L si se determina que dicho resto no es cero o si se
determina que el dígito en la posición de dígito (n+1)ésima del
entero K es igual a o mayor que 5.
5. Soporte de grabación capaz de ser leído
por un ordenador, cargándose dicho soporte de grabación con un
programa de ordenador para conseguir que el ordenador ejecute un
método de redondeo decimal que comprende las siguientes etapas:
introducir un valor numérico x que se debe
redondear y un intervalo de redondeo w;
almacenar el valor numérico introducido x;
almacenar el intervalo de redondeo w
introducido; y,
redondear el valor numérico x almacenado con una
posición de dígito determinada por el intervalo de redondeo w
almacenado,
caracterizado porque,
(A) dicha etapa en la que se introduce el
valor numérico x y el intervalo de redondeo w comprende la
introducción del intervalo de redondeo w por medio de una sección
(1) de entrada;
(B) dicha etapa en la que se almacena el valor
numérico x introducido comprende el almacenamiento de dígitos en
posiciones de dígito sucesivas del valor numérico x introducido en
una sección (21) de almacenamiento de numerales;
(C) dicha etapa en la que se almacena el
intervalo de redondeo w introducido comprende el almacenamiento del
intervalo de redondeo w introducido en una sección (22) de
almacenamiento de intervalos de redondeo; y
(D) dicha etapa en la que se redondea el valor
numérico x comprende la extracción de un valor numérico menos
significativo y formado por dígitos en las posiciones de dígito a la
derecha de una posición de dígito correspondiente al intervalo de
redondeo w almacenado en dicha sección (22) de almacenamiento de
intervalos de redondeo a partir del valor numérico x almacenado en
dicha sección (21) de almacenamiento de numerales, y la sustitución
del valor numérico x almacenado en dicha sección (21) de
almacenamiento de numerales por la salida la cual es un numeral
seleccionado de entre una secuencia de múltiplos del intervalo de
redondeo w almacenado en dicha sección (22) de almacenamiento de
intervalos de redondeo según el resultado de una comparación del
intervalo de redondeo w almacenado en dicha sección (22) de
almacenamiento de intervalos de redondeo con dos veces el valor
numérico menos significativo y,
en el que dicho programa consigue además que
dicho ordenador ejecute la etapa en la que se extrae un dígito
redondeado R situado en una posición de dígito correspondiente al
intervalo de redondeo w almacenado en dicha sección (22) de
almacenamiento de intervalos de redondeo del valor numérico x
almacenado en dicha sección (21) de almacenamiento de numerales, y
en el que
dicha etapa en la que se sustituye el valor
numérico x por el valor numérico seleccionado comprende: el cálculo
de un resto b cuando dicho dígito redondeado extraído R se divide
por 2; la suma de 1 a dicho dígito redondeado extraído R si el
intervalo de redondeo w almacenado en dicha sección (22) de
almacenamiento de intervalos es menor que dos veces dicho valor
numérico menos significativo extraído y o si el intervalo de
redondeo w almacenado en dicha sección (22) de almacenamiento de
intervalos de redondeo es igual a dos veces dicho valor numérico
menos significativo extraído y, y, al mismo tiempo, el resto
calculado b es 1, y el descarte del valor numérico menos
significativo extraído y.
6. Soporte de grabación capaz de ser leído
por un ordenador, cargándose dicho soporte de grabación con un
programa de ordenador para conseguir que el ordenador ejecute un
método de redondeo decimal que comprende las siguientes etapas:
introducir un valor numérico x que se debe
redondear y un número de dígitos significativos n;
almacenar el valor numérico introducido x;
almacenar el número introducido de dígitos
significativos n; y,
redondear el valor numérico x almacenado con una
posición de dígito determinada por el número de dígitos
significativos n almacenado,
caracterizado porque,
(A) dicha etapa en la que se introduce el
valor numérico x y el número de dígitos significativos n comprende
la introducción del número de dígitos significativos n por medio de
una sección (1) de entrada;
(B) dicho programa consigue además que dicho
ordenador ejecute la etapa en la que se calculan un entero K y un
índice M con lo que el valor numérico x introducido por la sección
(1) de entrada viene dado por K x 10^{M}, en la que K
tiene un dígito menos significativo diferente de cero, de tal manera
que en posiciones decimales no hay presentes valores diferentes de
cero,
(C) dicha etapa en la que se almacena el valor
numérico introducido x comprende el almacenamiento del índice
calculado M en una sección (24) de almacenamiento de partes de
índice y el entero K en una sección (23) de almacenamiento de partes
enteras,
(D) dicha etapa en la que se almacena el número
introducido de dígitos significativos n comprende el almacenamiento
del número introducido de dígitos significativos n en una sección
(21) de almacenamiento de dígitos significativos, y
(E) dicha etapa en la que se redondea el valor
numérico x comprende el redondeo del entero K con n dígitos
significativos mediante el uso del entero K almacenado en dicha
sección (23) de almacenamiento de partes enteras y el número de
dígitos significativos n almacenado en dicha sección (21) de
almacenamiento de dígitos significativos para calcular un entero L,
y el cálculo de la salida L x 10^{M} usando el entero calculado L
y el índice M almacenado en dicha sección (24) de almacenamiento de
partes de índice,
en el que dicha etapa en la que se redondea el
entero K con n dígitos significativos comprende las siguientes
etapas:
convertir los dígitos en la posición de dígito
(n+1)ésima y las posiciones de dígito siguientes del entero K
almacenado en la sección de almacenamiento de partes enteras en un
numeral y tomar una decisión sobre si este numeral es igual a 5;
dividir por 2 un dígito en la posición de dígito
enésima del entero K y tomar una decisión sobre si el resto es 0 si
el resultado de la decisión en la etapa anterior es que dicho
numeral convertido es igual a 5;
tomar una decisión sobre si un dígito en la
posición de dígito (n+1)ésima del entero K es igual a o mayor que 5
si el resultado de la decisión en la etapa anterior es que dicho
numeral convertido no es igual a 5;
descartar dígitos en la posición de dígito
(n+1)ésima y las posiciones de dígito siguientes si se determina que
dicho resto es 0 en la etapa anterior o si se determina que el
dígito en la posición de dígito (n+1)ésima del entero K no es igual
a o mayor que 5 en la etapa inmediatamente anterior; e
incrementar en 1 el dígito en la posición de
dígito enésima y se descartan dígitos en la posición de dígito
(n+1)ésima y las posiciones de dígito siguientes para calcular el
entero L si se determina que dicho resto no es cero o si se
determina que el dígito en la posición de dígito (n+1)ésima del
entero K es igual a o mayor que 5.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2000/005265 WO2002012998A1 (en) | 2000-08-04 | 2000-08-04 | Apparatus and method for rounding numerical values according to significant digits or rounding interval |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2261221T3 true ES2261221T3 (es) | 2006-11-16 |
Family
ID=11736330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES00950009T Expired - Lifetime ES2261221T3 (es) | 2000-08-04 | 2000-08-04 | Aparato y metodo para redondear valores numericos segun digitos significativos o un intervalo de redondeo. |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1307813B1 (es) |
AT (1) | ATE326722T1 (es) |
DE (1) | DE60028094T2 (es) |
ES (1) | ES2261221T3 (es) |
WO (1) | WO2002012998A1 (es) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW283223B (es) * | 1994-12-01 | 1996-08-11 | Casio Computer Co Ltd | |
US6360204B1 (en) * | 1998-04-24 | 2002-03-19 | Sarnoff Corporation | Method and apparatus for implementing rounding in decoding an audio signal |
-
2000
- 2000-08-04 DE DE60028094T patent/DE60028094T2/de not_active Expired - Lifetime
- 2000-08-04 ES ES00950009T patent/ES2261221T3/es not_active Expired - Lifetime
- 2000-08-04 WO PCT/JP2000/005265 patent/WO2002012998A1/en active IP Right Grant
- 2000-08-04 AT AT00950009T patent/ATE326722T1/de not_active IP Right Cessation
- 2000-08-04 EP EP00950009A patent/EP1307813B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE60028094T2 (de) | 2006-11-02 |
DE60028094D1 (de) | 2006-06-22 |
EP1307813B1 (en) | 2006-05-17 |
EP1307813A1 (en) | 2003-05-07 |
WO2002012998A1 (en) | 2002-02-14 |
ATE326722T1 (de) | 2006-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lewis et al. | The mismeasure of science: Stephen Jay Gould versus Samuel George Morton on skulls and bias | |
Vinga | Information theory applications for biological sequence analysis | |
CN107077322B (zh) | 用于执行转换运算的装置和方法 | |
US7917302B2 (en) | Determination of optimal local sequence alignment similarity score | |
Garn et al. | Sex discriminatory effectiveness using combinations of permanent teeth | |
US20160313976A1 (en) | High performance division and root computation unit | |
Kirchner et al. | A nonparametric estimation procedure for the Hawkes process: comparison with maximum likelihood estimation | |
Le et al. | treeheatr: an R package for interpretable decision tree visualizations | |
Reingold et al. | On using distributional analysis techniques for determining the onset of the influence of experimental variables | |
CN111949798A (zh) | 图谱的构建方法、装置、计算机设备和存储介质 | |
Efird | Goldilocks rounding: Achieving balance between accuracy and parsimony in the reporting of relative effect estimates | |
KR100423893B1 (ko) | 컴퓨터 산술 연산을 위한 부분 일치 부분 출력 캐쉬 | |
Chakraborty et al. | BAMBI: An R package for fitting bivariate angular mixture models | |
ES2261221T3 (es) | Aparato y metodo para redondear valores numericos segun digitos significativos o un intervalo de redondeo. | |
JP2981769B2 (ja) | 波形表示装置 | |
WO2022248719A1 (en) | Improvements in and relating to encoding and computation on distributions of data | |
US6493738B1 (en) | Apparatus and method for rounding numerical values according to significant digits or rounding interval | |
Wittenberg | Modeling the patient mix for risk-adjusted CUSUM charts | |
US3987290A (en) | Calculator apparatus for displaying data in engineering notation | |
CN113988067B (zh) | 语句分词方法、装置及电子设备 | |
US5485410A (en) | Measurement calculator | |
Ausloos et al. | Precise (m, k)-Zipf diagram analysis of mathematical and financial time series when m= 6, k= 2 | |
Harris | A tight fit of the SIR dynamic epidemic model to daily cases of COVID-19 reported during the 2021–2022 Omicron surge in New York City: A novel approach | |
JP2003076674A (ja) | G.728annexg用のベクトルスケーリングシステム | |
Gernhard et al. | Estimating the relative order of speciation or coalescence events on a given phylogeny |