{"doi":"10.1017/s0962492922000101","title":"Floating-point arithmetic","abstract":"<jats:p>Floating-point numbers have an intuitive meaning when it comes to physics-based numerical computations, and they have thus become the most common way of approximating real numbers in computers. The IEEE-754 Standard has played a large part in making floating-point arithmetic ubiquitous today, by specifying its semantics in a strict yet useful way as early as 1985. In particular, floating-point operations should be performed as if their results were first computed with an infinite precision and then rounded to the target format. A consequence is that floating-point arithmetic satisfies the ‘standard model’ that is often used for analysing the accuracy of floating-point algorithms. But that is only scraping the surface, and floating-point arithmetic offers much more.</jats:p><jats:p>In this survey we recall the history of floating-point arithmetic as well as its specification mandated by the IEEE-754 Standard. We also recall what properties it entails and what every programmer should know when designing a floating-point algorithm. We provide various basic blocks that can be implemented with floating-point arithmetic. In particular, one can actually compute the rounding error caused by some floating-point operations, which paves the way to designing more accurate algorithms. More generally, properties of floating-point arithmetic make it possible to extend the accuracy of computations beyond working precision.</jats:p>","journal":"Acta Numerica","year":2023,"id":27379,"datarank":0.9159656307130475,"base_score":3.332204510175204,"endowment":3.332204510175204,"self_citation_contribution":0.49983067652628066,"citation_network_contribution":0.4161349541867669,"self_endowment_contribution":0.49983067652628066,"citer_contribution":0.4161349541867669,"corpus_percentile":null,"corpus_rank":null,"citation_count":27,"citer_count":20,"citers_with_citation_signal":12,"citers_with_endowment":12,"datacite_reuse_total":0,"is_dataset":false,"is_dataset_confidence":null,"is_data_producer":false,"deposit_databanks":null,"is_oa":false,"file_count":0,"downloads":0,"has_version_chain":false,"published_date":null,"fair_score":null,"fair_percentile":null,"algorithm_id":"datarank_citation_only_1hop_v6","ranking_scope":"data_only","authors":[{"id":156213,"name":"Claude-Pierre Jeannerod","orcid":null,"position":1,"is_corresponding":false},{"id":156214,"name":"Guillaume Melquiond","orcid":null,"position":2,"is_corresponding":false},{"id":146725,"name":"Jean-Michel Muller","orcid":"0000-0003-3588-0047","position":3,"is_corresponding":false},{"id":156212,"name":"Sylvie Boldo","orcid":null,"position":0,"is_corresponding":false}],"reference_count":0,"raw_metadata":{"has_enrichment":true,"base_score":3.295836866004329,"endowment":3.295836866004329,"datacite_reuse_total":0,"file_count":0,"downloads":0,"views":0,"has_version_chain":false,"is_dataset":false,"is_oa":false,"pmid":"24523987","pmcid":null,"openalex_id":"https://openalex.org/W4376144198","authors":[],"funders":[{"funder_name":"European Commission","grant_id":"101001995","title":"Fast and Reliable Symbolic Computation"},{"funder_name":"European Commission","grant_id":"810367","title":"Extreme-scale Mathematically-based Computational Chemistry"},{"funder_name":"French National Research Agency (ANR)","grant_id":"ANR-20-CE48-0014","title":"Numerical Safety for Computer-Aided Proofs"}],"total_grants":3,"fwci":4.9326,"citation_percentile":0.96047062,"influential_citations":1,"citation_trend":[{"year":2023,"count":2},{"year":2024,"count":7},{"year":2025,"count":14},{"year":2026,"count":3}],"oa_status":"hybrid","license":"cc-by","oa_locations":[{"url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/287C4D5F6D4A43FBEEB1ABED2A405AAF/S0962492922000101a.pdf/div-class-title-floating-point-arithmetic-div.pdf","host_type":"journal"},{"url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/287C4D5F6D4A43FBEEB1ABED2A405AAF/S0962492922000101a.pdf/div-class-title-floating-point-arithmetic-div.pdf","host_type":"HYBRID"},{"url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/287C4D5F6D4A43FBEEB1ABED2A405AAF/S0962492922000101a.pdf/div-class-title-floating-point-arithmetic-div.pdf","host_type":"publisher"},{"url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/S0962492922000101","host_type":"publisher"},{"url":"https://doi.org/10.1017/s0962492922000101","host_type":"journal"},{"url":"https://hal.science/hal-04095151","host_type":"repository"},{"url":"https://hal.science/hal-04095151v1/document","host_type":"repository"},{"url":"https://zbmath.org/7736656","host_type":""},{"url":"https://doi.org/10.1017/S0962492922000101","host_type":""},{"url":"https://hal.science/hal-04095151v1","host_type":""},{"url":"https://zenodo.org/records/8321202","host_type":""},{"url":"http://dx.doi.org/10.1017/s0962492922000101","host_type":""}],"fields_of_study":["Numerical Methods and Algorithms","Computer Science","Mathematics","0202 electrical engineering, electronic engineering, information engineering","02 engineering and technology","0101 mathematics","01 natural sciences"],"mesh_terms":[],"keywords":["Floating point","Arithmetic","Rounding","IEEE floating point","Double-precision floating-point format","Computer science","Arbitrary-precision arithmetic","Single-precision floating-point format","Floating-point unit","Saturation arithmetic","Point (geometry)","Computation","Machine epsilon","Programmer","Algorithm","Mathematics","Programming language","computer arithmetic","Numerical algorithms for computer arithmetic, etc.","Roundoff error","Floating-point arithmetic","numerical computing","[INFO.INFO-AO] Computer Science [cs]/Computer Arithmetic","Mathematical problems of computer architecture","Numerical analysis"],"sdg_mappings":[],"linked_datasets":[],"clinical_trials":[],"software_tools":[],"database_accessions":[],"source":"live","citation_network_status":"fetched"},"created_at":"2026-06-08T17:49:54.542240Z","pmid":null,"pmcid":null,"fwci":null,"citation_percentile":null,"influential_citations":0,"oa_status":null,"license":null,"views":0,"total_file_size_bytes":0,"version_count":0,"fair_f":null,"fair_a":null,"fair_i":null,"fair_r":null,"fair_zscore":null,"fair_rationale":null,"fair_model":null,"fair_agent_version":null,"fair_fulltext_source":null,"fair_has_llm":null,"fair_computed_at":null,"clinical_trials":[],"software_tools":[],"db_accessions":[],"linked_datasets":[],"topics":[]}