Floating point is ubiquitous in computers, where it is the default way to represent non-integer numbers. However, few people understand it. We all see weird behavior sometimes, and many programmers treat it as a mystical and imprecise system of math that just works until it sometimes doesn’t. We hear that we shouldn’t trust floating point with money, we know that 0.1 + 0.2 does not equal 0.3, and “NaN” shows up in our logs when things break. We rarely hear why any of this is the case, and less about what to do about it.
This book pulls back the veil on floating point and shows how this number system we program with every day works. It discusses how to leverage the number system for common calculations, particularly in graphics and simulations, and avoid pitfalls. Further, we will review methods that can give you either better performance or better accuracy on tasks like numerical integration and function approximation, so you can learn to make the right tradeoffs in your programs.
This book builds upon a basic knowledge of calculus and linear algebra, working with illustrative examples that demonstrate concepts rather than relying on theoretical proofs. Along the way, we will learn why Minecraft has struggled with boat physics and what the heck John Carmack was thinking with Quake III’s infamous fast reciprocal square root algorithm. By the end of the book, you will be able to understand how to work with floating point in a practical sense, from tracking down and preventing error in small calculations to choosing numerical building blocks for complex 3D simulations.
"synopsis" may belong to another edition of this title.
Nima Badizadegan is an engineer who works at the intersection of computer systems and mathematics. His past experience includes work at Google and on Wall Street, as well as being a consultant and startup founder. Badizadegan has several publications in the fields of simulation and computer arithmetic and is the inventor of over 10 patents. He is a member of the IEEE and ACM and contributes to the IEEE 754 floating point standard. He is the author of the popular technical blog Speculative Branches (https://specbranch.com), where he writes about computer systems, software engineering, and math.
"About this title" may belong to another edition of this title.
Seller: GreatBookPrices, Columbia, MD, U.S.A.
Condition: New. Seller Inventory # 49202164-n
Seller: Grand Eagle Retail, Bensenville, IL, U.S.A.
Paperback. Condition: new. Paperback. Floating point is ubiquitous in computers, where it is the default way to represent non-integer numbers. However, few people understand it. We all see weird behavior sometimes, and many programmers treat it as a mystical and imprecise system of math that just works until it sometimes doesnt. We hear that we shouldnt trust floating point with money, we know that 0.1 + 0.2 does not equal 0.3, and NaN shows up in our logs when things break. We rarely hear why any of this is the case, and less about what to do about it.This book pulls back the veil on floating point and shows how this number system we program with every day works. It discusses how to leverage the number system for common calculations, particularly in graphics and simulations, and avoid pitfalls. Further, we will review methods that can give you either better performance or better accuracy on tasks like numerical integration and function approximation, so you can learn to make the right tradeoffs in your programs.This book builds upon a basic knowledge of calculus and linear algebra, working with illustrative examples that demonstrate concepts rather than relying on theoretical proofs. Along the way, we will learn why Minecraft has struggled with boat physics and what the heck John Carmack was thinking with Quake IIIs infamous fast reciprocal square root algorithm. By the end of the book, you will be able to understand how to work with floating point in a practical sense, from tracking down and preventing error in small calculations to choosing numerical building blocks for complex 3D simulations.Gives insight into how and why floating-point math worksDescribes how floating-point error arises and how to avoid itSurveys numerical methods important to graphics and numerical simulationsIncludes modern techniques to apply to your numerical problemsShows how to hack the floating-point numbers to compute faster and more accurately Floating point is ubiquitous in computers, where it is the default way to represent non-integer numbers. However, few people understand it. We all see weird behavior sometimes, and many programmers treat it as a mystical and imprecise system of math that just works until it sometimes doesnt. This item is printed on demand. Shipping may be from multiple locations in the US or from the UK, depending on stock availability. Seller Inventory # 9781032933559
Seller: GreatBookPrices, Columbia, MD, U.S.A.
Condition: As New. Unread book in perfect condition. Seller Inventory # 49202164
Seller: Majestic Books, Hounslow, United Kingdom
Condition: New. Seller Inventory # 410686736
Quantity: 3 available
Seller: GreatBookPricesUK, Woodford Green, United Kingdom
Condition: New. Seller Inventory # 49202164-n
Quantity: 2 available
Seller: PBShop.store US, Wood Dale, IL, U.S.A.
PAP. Condition: New. New Book. Shipped from UK. THIS BOOK IS PRINTED ON DEMAND. Established seller since 2000. Seller Inventory # L0-9781032933559
Seller: Books Puddle, New York, NY, U.S.A.
Condition: New. Seller Inventory # 26403516111
Seller: THE SAINT BOOKSTORE, Southport, United Kingdom
Paperback / softback. Condition: New. New copy - Usually dispatched within 4 working days. Seller Inventory # B9781032933559
Quantity: 1 available
Seller: GreatBookPricesUK, Woodford Green, United Kingdom
Condition: As New. Unread book in perfect condition. Seller Inventory # 49202164
Quantity: 2 available
Seller: PBShop.store UK, Fairford, GLOS, United Kingdom
PAP. Condition: New. New Book. Delivered from our UK warehouse in 4 to 14 business days. THIS BOOK IS PRINTED ON DEMAND. Established seller since 2000. Seller Inventory # L0-9781032933559
Quantity: Over 20 available