Escalado binario

El escalado binario es una técnica de programación de ordenadores incluida habitualmente en distintos lenguajes de bajo nivel como C, DSP o ensamblador, que permite manejar eficientemente pseudo operaciones con números de coma flotante utilizando la aritmética entera nativa del procesador.

Visión general

Una representación de un valor de coma flotante utilizando una escala binaria es más precisa que una representación de punto flotante que ocupa el mismo número de bits, pero generalmente representa valores de un rango más limitado, por lo que puede llevar más fácilmente a un desbordamiento aritmético durante el cálculo. La implementación de operaciones utilizando instrucciones aritméticas de enteros es a menudo (pero no siempre) más rápida que las instrucciones de coma flotante correspondientes.

El procedimiento está basado en elegir una posición del 'punto binario' para cada tipo de variable a ser representada, y se ajustan en consecuencia los cambios binarios asociados con las operaciones aritméticas. Por ejemplo, la escala binaria correspondiente en Q (formato numérico) al primer dígito, es decir, Q1.15, es un entero de 16 bits escalado con un bit como entero y quince bits como parte fraccionaria. Un número "Bscal 1" (escala binaria 1) o Q1.15 representaría de forma aproximada los números del 1.999 a -2.000 como números con coma flotante y tres decimales de precisión.

Para dar un ejemplo, una forma común de usar la aritmética de enteros para simular la coma flotante, utilizando números de 32 bits, es multiplicar los coeficientes por 65536 (2 elevado a la 16).

Usando la notación científica binaria, el punto binario se colocará en B16. Esto quiere decir que los 16 bits significativos representan la parte entera, y el resto son la parte fraccionaria, lo que se traduce en que un número entero B16 de complemento a dos con signo, puede contener un valor máximo de y un valor mínimo de . Dicho de otra manera, el número B, es el número de bits enteros utilizados para representar el número que define su intervalo de valores. Los bits bajos restantes (es decir, los bits no enteros) se utilizan para almacenar cantidades fraccionarias y proporcionar una mayor precisión.

Por ejemplo, para representar 1.2 y 5.6 como B16, se multiplican por 216, obteniéndose los enteros 78643 y 367001.

Multiplicando estos dos números entre sí, el resultado es

 28862059643 

Para convertirlo de nuevo a B16, se divide de nuevo por 216.

Esto da 440400B16, que cuando se convierte de nuevo a un número de punto flotante (al dividir nuevamente por 216, pero manteniendo el resultado en coma flotante), da 6.71999. El resultado de punto flotante correcto es 6.72.

Reescalado después de la multiplicación

El ejemplo anterior para una multiplicación en B16 es un ejemplo simplificado. La nueva escala depende tanto del valor de la escala B como del tamaño de los datos manejados. B16 se usa a menudo en sistemas de 32 bits porque funciona de forma muy sencilla para multiplicar y dividir por 65536 (lo que se consigue desplazando las cifras 16 bits arriba o abajo).

Considérese el Punto Binario en un dato con signo de 32 bits, de forma que:

0 1 2 3 4 5 6 7 8 9
 S X X X X X X X   X X X X X X X X   X X X X X X X X   X X X X X X X X

donde S es el bit del signo y X son los otros bits.

Colocando el punto binario en

  • 0 da un intervalo de −1.0 a 0.999999.
  • 1 da un intervalo de −2.0 a 1.999999
  • 2 da un intervalo de −4.0 a 3.999999 y así sucesivamente.

Cuando se utilizan diferentes escalas B y/o tamaños de datos, se debe utilizar la fórmula de conversión de escala B completa.

Considerése un tamaño de palabra de 32 bits y dos variables, una con una escala B de 2 y la otra con una escala de 4:

1.4 @ B2 es 1.4 * (2 ^ (tamaño de la palabra-2-1)) == 1.4 * 2 ^ 29 == 0x2CCCCCCD 

Téngase en cuenta que aquí los valores 1.4 están muy bien representados con 30 bits para la parte fraccionaria. Un número de coma flotante de 32 bits dispone de 23 bits para almacenar la parte fraccional. Esta es la razón por la cual la escala B es siempre más precisa que el punto flotante del mismo tamaño de palabra. Esto es especialmente útil en integradores o en la suma repetida de pequeñas cantidades, donde el error de redondeo puede ser un problema sutil pero muy peligroso cuando se usa un punto flotante.

Ahora con un número mayor como 15.2 en B4, se tiene que

15.2 @ B4 es 15.2 * (2 ^ (tamaño de palabra-4-1)) == 15.2 * 2 ^ 27 == 0x7999999A 

El número de bits para almacenar la parte fraccionaria es de 28 bits. Al multiplicar estos números de 32 bits se obtiene el resultado de 64 bits. 0x1547AE14A51EB852

Este resultado está en formato B7 en una palabra de 64 bits. Al desplazarlo hacia abajo 32 bits, se obtiene el resultado en B7 de 32 bits.

0x1547AE14 

Para convertir de nuevo a punto flotante, se debe dividir por (2^(wordsize-7-1)) == 21.2800000099

Se pueden usar varios escalones. B0, por ejemplo, puede usarse para representar cualquier número entre -1 y 0.999999999.

Ángulos binarios

Escalado binario (B0) para la representación de ángulos. El negro es la representación en grados tradicionales, el verde es una representación en coma flotante y el rojo es una representación hexadecimal de 32 bits

Los ángulos binarios se representan usando B0, con 0 como 0 grados, 0.5 como 90° (o ), −1.0 o 0.9999999 como 180° (o π) y −0.5 como 270° (o ). Cuando estos ángulos binarios se suman utilizando el complemento a dos, la rotación de los ángulos es correcta, incluso cuando se supera el límite de 2π (esto tiene la ventaja de que se elimina automáticamente la necesidad de verificar si se han generado ángulos ≥ 360°, como cuando se manejan grados de la forma habitual).[1]

Los términos medida angular binaria (abreviado como BAM en inglés)[2]​ y sistema de medición angular binario (BAMS),[3]​ así como brads (radianes binarios o grados binarios) se refieren a implementaciones de ángulos binarios. Encuentran su uso en robótica, navegación,[4]​ juegos de ordenador[5]​ y sensores digitales.[6]

No importa qué patrón de bits se almacene en un ángulo binario, cuando se multiplica por 180° (o π) utilizando aritmética de coma fija con signo estándar, el resultado es siempre un ángulo válido en el intervalo de −180° grados (−π radianes) a +180 grados (+π radianes). En algunos casos, es conveniente usar la multiplicación sin signo (en lugar de la multiplicación con signo) en las operaciones con ángulos binarios, lo que proporciona el ángulo correcto en el intervalo de 0 a +360 grados (+2π radianes o +1 vuelta). En comparación con el almacenamiento de ángulos en un formato de ángulo binario, el almacenamiento de ángulos en cualquier otro formato inevitablemente da como resultado que algunos patrones de bits puedan devolber ángulos fuera de ese rango, lo que requiere pasos adicionales para reducir el valor al intervalo deseado, o que dan lugar a algunos patrones de bits que no son ángulos válidos en absoluto (NaN), o incluso que se den ambos supuestos simultáneamente.

Aplicación de las técnicas de escalado binario

Las técnicas de escalado binario se utilizaron en las décadas de 1970 y 1980 para la computación en tiempo real matemáticamente intensiva, como en las taeas de simulación de vuelo y en los algoritmos de control de centrales nucleares desde finales de la década de 1960. El código de estas aplicaciones a menudo incluía comentarios indicando los escalados binarios utilizados para menejar los resultados intermedios de las ecuaciones.

El escalado binario todavía se utiliza en muchas aplicaciones de procesamiento digital de señales y los microprocesadores personalizados se basan generalmente en técnicas de escalado binario.

También se sigue usando en la transformación de coseno discreta utilizada para comprimir imágenes JPEG en utilidades como GIMP.

Aunque la mejora de la potencia de cálculo de los ordenadores ha hecho que el uso de operaciones con coma flotante se haya extendido en gran medida, donde se requiere velocidad y precisión adicionales, la escala binaria funciona de forma más simple y es más precisa cuando se conoce el intervalo de valores de antemano.  

Véase también

Referencias

  1. Angles, integers, and modulo arithmetic Shawn Hargreaves, blogs.msdn.com
  2. «Binary angular measurement». Archivado desde el original el 21 de diciembre de 2009. 
  3. «Binary Angular Measurement System». acronyms.thefreedictionary. 
  4. Real-Time Systems Design and Analysis Chapter 7.5.3, Binary Angular Measure, Phillip A. LaPlante, page via www.globalspec.com
  5. Doom 1993 code review Fabien Sanglard, section "Walls", 13/1/2010, fabiensanglard.net
  6. Hitachi HM55B Compass Module (#29123) Archivado el 11 de julio de 2011 en Wayback Machine. pdf via www.parallax.com via www.hobbyengineering.com

Read other articles:

Culicoidea TaksonomiKerajaanAnimaliaFilumArthropodaKelasInsectaOrdoDipteraSuperfamiliCulicoidea Famili Dixidae Corethrellidae Chaoboridae Culicidae lbs Culicoidea adalah superfamili dari ordo Diptera. Famili dari superfamili ini: Dixidae – agas meniskus Corethrellidae – agas pengigit katak Chaoboridae – agas phantom (hantu) Culicidae – nyamuk Referensi McAlpine, J.F., B.V. Peterson, G.E. Shewell, H.J. Teskey, J.R. Vockeroth, and D.M. Wood. Manual of Nearctic Diptera, Volume 1. Agricul...

 

Cet article est une ébauche concernant le droit français. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Article détaillé : Défenseur des droits. Article 71-1 de la Constitution du 4 octobre 1958 Données clés Présentation Pays France Langue(s) officielle(s) Français Type Article de la Constitution Adoption et entrée en vigueur Législature XIIIe législature de la Cinquième République français...

 

Script file for Microsoft computer operating systems Batch fileFilename extensions.bat, .cmd, .btmInternet media type application/bat application/x-bat application/x-msdos-program text/plain Type of formatScriptingContainer forScripts A batch file is a script file in DOS, OS/2 and Microsoft Windows. It consists of a series of commands to be executed by the command-line interpreter, stored in a plain text file. A batch file may contain any command the interpreter accepts interactivel...

Gouvernement Lionel Jospin Ve République Le Premier ministre Lionel Jospin en 2000. Données clés Président Jacques Chirac Premier ministre Lionel Jospin Formation 2 juin 1997 Fin 6 mai 2002 Durée 4 ans, 11 mois et 4 jours Composition initiale Coalition Gauche plurielle(PS - PCF - PRG - Les Verts - MDC) Ministres 14 Secrétaires d'État 11 Femmes 8 Hommes 17 Représentation XIe législature 319  /  577 Gouvernement Alain Juppé II Gouvernement Jean-Pierre Ra...

 

Kriminil Alternanthera ficoidea TaksonomiDivisiTracheophytaSubdivisiSpermatophytesKladAngiospermaeKladmesangiospermsKladeudicotsKladcore eudicotsOrdoCaryophyllalesFamiliAmaranthaceaeSubfamiliGomphrenoideaeGenusAlternantheraSpesiesAlternanthera ficoidea Palisot de Beauvois, 1818 Tata namaBasionimGomphrena ficoidea (en) Sinonim taksonAlternanthera ficoidea var. brachiata (en)Alternanthera tenella (en) lbs Alternanthera ficoidea, juga dikenal sebagai kriminil adalah spesies tumbuhan berbunga dal...

 

История Грузииსაქართველოს ისტორია Доисторическая Грузия Шулавери-шомутепинская культураКуро-араксская культураТриалетская культураКолхидская культураКобанская культураДиаухиМушки Древняя история КолхидаАриан-КартлиИберийское царство ФарнавазидыГруз�...

Boeing C-135 Stratolifter adalah pesawat angkut yang berasal dari prototipe pesawat jet Boeing 367-80 (juga dasar bagi 707 ) pada awal 1950-an. Pesawat memiliki badan sempit dan lebih pendek dari 707. Boeing memberikan pesawat penunjukan internal Model 717. Sejak pertama dibangun pada bulan Agustus 1956, C-135 telah menjadi perlengkapan yang terlihat dari Angkatan Udara Amerika Serikat . Referensi lbsPesawat militer BoeingDaftar pesawat militer Boeing Pesawat tempur/serang PW-9/FB F2B F3B F4...

 

Individual component of an HTML document This article is about the HTML elements in general. For information on how to format Wikipedia entries, see Help:Wikitext and Help:HTML in wikitext. nobr redirects here. For the chemical compound NOBr, see Nitrosyl bromide. Font color redirects here. For OpenType fonts featuring multicolored glyphs, see OpenType § Color fonts. HTML Dynamic HTML HTML5 article audio canvas video XHTML Basic Mobile Profile HTML element meta div and span blink marque...

 

Азиатский барсук Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:СинапсидыКласс:Мле�...

أمل دنقل معلومات شخصية الميلاد 1940قرية القلعة-مركز قفط-محافظة قنا تاريخ الوفاة 21 مايو 1983 سبب الوفاة سرطان  مواطنة مصر  الزوجة عبلة الرويني الحياة العملية المواضيع أدب  المهنة شاعر[1]  اللغات العربية  مجال العمل أدب  بوابة الأدب تعديل مصدري - تعديل   أمل �...

 

Pyrrhus' campaigns in the Peloponnese Pyrrhus' invasion of the PeloponneseThe Siege of Sparta by Pyrrhus, by François Topino-LebrunDate272 BCLocationPeloponneseResult Macedonian and Spartan victoryTerritorialchanges Epirus loses control of Macedon and ThessalyBelligerents Epirus, Macedonia (Aeacid) Argive democratic faction Macedonia (Antigonid), Sparta, Messene, Argive oligarchic factionCommanders and leaders Pyrrhus of Epirus †, Ptolemy † Antigonus II Gonatas, Areus I...

 

 本表是動態列表,或許永遠不會完結。歡迎您參考可靠來源來查漏補缺。 潛伏於中華民國國軍中的中共間諜列表收錄根據公開資料來源,曾潛伏於中華民國國軍、被中國共產黨聲稱或承認,或者遭中華民國政府調查審判,為中華人民共和國和中國人民解放軍進行間諜行為的人物。以下列表以現今可查知時間為準,正確的間諜活動或洩漏機密時間可能早於或晚於以下所歸�...

Hearst Communications, Inc.Hearst Tower di Midtown ManhattanJenisSwastaIndustriMass mediaDidirikan4 Maret 1887; 137 tahun lalu (1887-03-04)San Francisco, California, Amerika SerikatPendiriWilliam Randolph HearstKantorpusatHearst Tower300 W. 57th StreetNew York, NY 10019U.S.TokohkunciWilliam Randolph Hearst III(ketua)Frank A. Bennack Jr.(Wakil Ketua)Steve Swartz(Presiden and CEO)PendapatanUS$11.4 miliar (2019)PemilikKeluarga heartsKaryawan20,000 (2016)DivisiHearst TelevisionHear...

 

Wrestling event 2023 Grand Prix of SpainHost city Madrid, SpainDates7–9 July 2023StadiumConsejo Superior de DeportesChampionsFreestyle KazakhstanGreco-Roman SpainWomen United States← 20222024 → The 2023 Grand Prix of Spain is a wrestling event held in Madrid, Spain between 7 and 9 July 2023.[1][2][3] Event videos The event will air on the Scorizer Youtube channel. Broadcasting 7 July 2023 Mat 1 7 July 2023 Mat 2 7 July 2023 Mat 3 ...

 

Painting by Georges de La Tour The Fortune TellerArtistGeorges de La TourYearc. 1630TypeOil paintingDimensions101.9 cm × 123.5 cm (40+1⁄8 in × 48+5⁄8 in)LocationMetropolitan Museum of Art, New York City The Fortune Teller is an oil painting of circa 1630 by the French artist Georges de La Tour. The work was uncovered in about 1960 and purchased that year by the Metropolitan Museum of Art in New York. François Georges Pariset described t...

Part of a series onWorld trade Policy Import Export Balance of trade Trade law Trade pact Trade bloc Trade creation Trade diversion Export orientation Import substitution Trade finance Trade facilitation Trade route Domestic trade Tax Restrictions Trade barriers Tariffs Non-tariff barriers Import quotas Tariff-rate quotas Import licenses Customs duties Export subsidies Technical barriers Bribery Exchange rate controls Embargo Safeguards Countervailing duties Anti-dumping duties Voluntary exp...

 

Type of British colony directly administered by the British central government Coat of arms of King James I. In 1624, the Crown revoked the royal charter earlier granted to the Virginia Company, and assumed direct government of the colony A Crown colony or royal colony was a colony governed by England, and then Great Britain or the United Kingdom within the English and later British Empire. There was usually a governor to represent the Crown, appointed by the British monarch on the advice of ...

 

Spanish intelligence agent (born 1956) Esperanza CasteleiroDirector of the National Intelligence CenterIncumbentAssumed office 11 May 2022PresidentPedro SánchezPreceded byPaz Esteban LópezSecretary of State for DefenseIn office1 July 2020 – 11 May 2022Preceded byÁngel Olivares [es]Succeeded byAmparo Valcarce [es]Secretary-general of the National Intelligence CenterIn office28 September 2004 – 21 June 2008Preceded byMaría Dolores Vilanova...

Эту страницу предлагается переименовать в «Дуду (бразильский футболист, 1939)».Пояснение причин и обсуждение — на странице Википедия:К переименованию/3 июля 2024. Пожалуйста, основывайте свои аргументы на правилах именования статей. Не удаляйте шаблон до подведения итога...

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (مارس 2019) بريل عربية ٭ قد تحتوي هذه الصفحة على يونيكود الألفبائية الصوتية الدولية. تعديل مصدري - تعديل   إن كـَتـْب ...