Fundamentos de Programação

Fixed-Point Arithmetic

A method of representing fractional numbers using integers with an implicit decimal point at a fixed position, avoiding floating-point imprecision. On Solana, all token amounts use fixed-point: SPL tokens have a configurable decimals field (e.g., USDC uses 6 decimals, so 1 USDC = 1,000,000 smallest units). DeFi protocols use basis points (1/10,000), scaled integers, or WAD/RAY notation (10^18/10^27) for precise rate calculations without floating-point types.

IDfixed-point-arithmetic

Leitura rápida

Comece pela explicação mais curta e útil antes de aprofundar.

A method of representing fractional numbers using integers with an implicit decimal point at a fixed position, avoiding floating-point imprecision. On Solana, all token amounts use fixed-point: SPL tokens have a configurable decimals field (e.g., USDC uses 6 decimals, so 1 USDC = 1,000,000 smallest units). DeFi protocols use basis points (1/10,000), scaled integers, or WAD/RAY notation (10^18/10^27) for precise rate calculations without floating-point types.

Modelo mental

Use primeiro a analogia curta para raciocinar melhor sobre o termo quando ele aparecer em código, docs ou prompts.

Pense nisso como um bloco de construção que ajuda a ligar uma definição isolada ao sistema maior onde ela vive.

Contexto técnico

Coloque o termo dentro da camada de Solana em que ele vive para raciocinar melhor sobre ele.

Serialização, memória, estruturas de dados e bases de engenharia.

Por que builders ligam para isso

Transforme o termo de vocabulário em algo operacional para produto e engenharia.

Este termo destrava conceitos adjacentes rapidamente, então funciona melhor quando você o trata como um ponto de conexão, não como definição isolada.

Handoff para IA

Handoff para IA

Use este bloco compacto quando quiser dar contexto aterrado para um agente ou assistente sem despejar a página inteira.

Fixed-Point Arithmetic (fixed-point-arithmetic)
Categoria: Fundamentos de Programação
Definição: A method of representing fractional numbers using integers with an implicit decimal point at a fixed position, avoiding floating-point imprecision. On Solana, all token amounts use fixed-point: SPL tokens have a configurable decimals field (e.g., USDC uses 6 decimals, so 1 USDC = 1,000,000 smallest units). DeFi protocols use basis points (1/10,000), scaled integers, or WAD/RAY notation (10^18/10^27) for precise rate calculations without floating-point types.
Relacionados: Precision Loss / Rounding Errors, Checked Math, Programa SPL Token
Glossary Copilot

Faça perguntas de Solana com contexto aterrado sem sair do glossário.

Use contexto do glossário, relações entre termos, modelos mentais e builder paths para receber respostas estruturadas em vez de output genérico.

Explicar este código

Opcional: cole código Anchor, Solana ou Rust para o Copilot mapear primitivas de volta para termos do glossário.

Faça uma pergunta aterrada no glossário

Faça uma pergunta aterrada no glossário

O Copilot vai responder usando o termo atual, conceitos relacionados, modelos mentais e o grafo ao redor do glossário.

Grafo conceitual

Veja o termo como parte de uma rede, não como uma definição sem saída.

Esses ramos mostram quais conceitos esse termo toca diretamente e o que existe uma camada além deles.

Ramo

Precision Loss / Rounding Errors

A class of numerical vulnerability where integer division discards fractional remainders, causing systematic under-accounting of fees, interest, or token amounts that an attacker can exploit through repeated small transactions to drain protocol funds or receive more than entitled. Because Solana programs use integer arithmetic exclusively (no native floating point in on-chain code), division operations like amount / price always truncate toward zero, and protocols must decide whether to round in favor of the protocol (ceiling division for fees collected, floor division for tokens distributed) using formulas such as (numerator + denominator - 1) / denominator. Precision errors can also compound across fixed-point representations, so high-precision intermediate scaling (e.g., multiplying by 10^9 before dividing) is a common mitigation.

Ramo

Checked Math

A family of Rust arithmetic methods — including checked_add, checked_sub, checked_mul, checked_div, and their saturating_* counterparts — that return an Option<T> (None on overflow/underflow) instead of silently wrapping, allowing Solana programs to propagate an error rather than continue with corrupted values. Because Rust's default integer arithmetic panics on overflow only in debug builds and wraps silently in release builds (the mode used for on-chain deployments), all financial and security-sensitive arithmetic in Solana programs should use these methods. Anchor's declare_program! macro and many audit checklists explicitly require checked math on all token amount calculations.

Ramo

Programa SPL Token

The original Solana Program Library token program (TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA) that implements fungible and non-fungible token operations. It manages mints (token definitions) and token accounts (balances). Core instructions include InitializeMint, MintTo, Transfer, Burn, Approve (delegation), and Revoke. All SPL tokens on mainnet before Token-2022 use this program.

Próximos conceitos para explorar

Continue a cadeia de aprendizado em vez de parar em uma única definição.

Estes são os próximos conceitos que valem abrir se você quiser que este termo faça mais sentido dentro de um workflow real de Solana.

Segurança

Precision Loss / Rounding Errors

A class of numerical vulnerability where integer division discards fractional remainders, causing systematic under-accounting of fees, interest, or token amounts that an attacker can exploit through repeated small transactions to drain protocol funds or receive more than entitled. Because Solana programs use integer arithmetic exclusively (no native floating point in on-chain code), division operations like amount / price always truncate toward zero, and protocols must decide whether to round in favor of the protocol (ceiling division for fees collected, floor division for tokens distributed) using formulas such as (numerator + denominator - 1) / denominator. Precision errors can also compound across fixed-point representations, so high-precision intermediate scaling (e.g., multiplying by 10^9 before dividing) is a common mitigation.

Segurança

Checked Math

A family of Rust arithmetic methods — including checked_add, checked_sub, checked_mul, checked_div, and their saturating_* counterparts — that return an Option<T> (None on overflow/underflow) instead of silently wrapping, allowing Solana programs to propagate an error rather than continue with corrupted values. Because Rust's default integer arithmetic panics on overflow only in debug builds and wraps silently in release builds (the mode used for on-chain deployments), all financial and security-sensitive arithmetic in Solana programs should use these methods. Anchor's declare_program! macro and many audit checklists explicitly require checked math on all token amount calculations.

Ecossistema de Tokens

Programa SPL Token

The original Solana Program Library token program (TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA) that implements fungible and non-fungible token operations. It manages mints (token definitions) and token accounts (balances). Core instructions include InitializeMint, MintTo, Transfer, Burn, Approve (delegation), and Revoke. All SPL tokens on mainnet before Token-2022 use this program.

Fundamentos de Programação

Git

A distributed version control system for tracking code changes across development teams. Essential for Solana development workflows: feature branches for program changes, pull requests for code review, tags for release versions. Solana Verify uses git repos to verify on-chain programs match public source. GitHub hosts most Solana ecosystem repositories.

Termos relacionados

Siga os conceitos que realmente dão contexto a este termo.

Entradas de glossário só ficam úteis quando estão conectadas. Esses links são o caminho mais curto para ideias adjacentes.

Segurançaprecision-loss

Precision Loss / Rounding Errors

A class of numerical vulnerability where integer division discards fractional remainders, causing systematic under-accounting of fees, interest, or token amounts that an attacker can exploit through repeated small transactions to drain protocol funds or receive more than entitled. Because Solana programs use integer arithmetic exclusively (no native floating point in on-chain code), division operations like amount / price always truncate toward zero, and protocols must decide whether to round in favor of the protocol (ceiling division for fees collected, floor division for tokens distributed) using formulas such as (numerator + denominator - 1) / denominator. Precision errors can also compound across fixed-point representations, so high-precision intermediate scaling (e.g., multiplying by 10^9 before dividing) is a common mitigation.

Segurançachecked-math

Checked Math

A family of Rust arithmetic methods — including checked_add, checked_sub, checked_mul, checked_div, and their saturating_* counterparts — that return an Option<T> (None on overflow/underflow) instead of silently wrapping, allowing Solana programs to propagate an error rather than continue with corrupted values. Because Rust's default integer arithmetic panics on overflow only in debug builds and wraps silently in release builds (the mode used for on-chain deployments), all financial and security-sensitive arithmetic in Solana programs should use these methods. Anchor's declare_program! macro and many audit checklists explicitly require checked math on all token amount calculations.

Ecossistema de Tokensspl-token

Programa SPL Token

The original Solana Program Library token program (TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA) that implements fungible and non-fungible token operations. It manages mints (token definitions) and token accounts (balances). Core instructions include InitializeMint, MintTo, Transfer, Burn, Approve (delegation), and Revoke. All SPL tokens on mainnet before Token-2022 use this program.

Mais na categoria

Permaneça na mesma camada e continue construindo contexto.

Essas entradas vivem ao lado do termo atual e ajudam a página a parecer parte de um grafo maior, não um beco sem saída.

Fundamentos de Programação

Rust

A systems programming language emphasizing memory safety, zero-cost abstractions, and concurrency without a garbage collector. Rust uses an ownership model with borrow checking at compile time to prevent data races and null pointer bugs. It is the primary language for Solana program development (via Anchor or native solana-program crate) and the Agave validator client.

Fundamentos de Programação

TypeScript

A statically typed superset of JavaScript that compiles to plain JavaScript. TypeScript adds type annotations, interfaces, generics, and enums to catch errors at compile time. It is the standard language for Solana client-side development—wallet adapters, dApp frontends, test suites, and SDK interactions (web3.js, Anchor client) are typically written in TypeScript.

Fundamentos de Programação

JavaScript

The ubiquitous scripting language for web development, running in browsers and Node.js. JavaScript is dynamically typed and event-driven. Most Solana dApp frontends and scripts use JavaScript/TypeScript with libraries like @solana/web3.js. Node.js enables server-side JS for backend services, indexers, and bot development.

Fundamentos de Programação

Node.js

A JavaScript runtime built on Chrome's V8 engine that enables server-side JavaScript execution. Node.js uses an event-driven, non-blocking I/O model. In the Solana ecosystem, Node.js is used for: running Anchor tests (Mocha/Jest), backend services, transaction bots, indexers, and CLI tools. npm/yarn/pnpm manage JavaScript package dependencies.