---
title: BinaryFloatingPoint
framework: swift
role: symbol
role_heading: Protocol
path: swift/binaryfloatingpoint
---

# BinaryFloatingPoint

A radix-2 (binary) floating-point type.

## Declaration

```swift
protocol BinaryFloatingPoint : ExpressibleByFloatLiteral, FloatingPoint
```

## Overview

Overview The BinaryFloatingPoint protocol extends the FloatingPoint protocol with operations specific to floating-point binary types, as defined by the IEEE 754 specification. BinaryFloatingPoint is implemented in the standard library by Float, Double, and Float80 where available.

## Topics

### Converting Floating-Point Values

- [init(_:)](swift/binaryfloatingpoint/init(_:)-57jx7.md)
- [init(_:)](swift/binaryfloatingpoint/init(_:)-7ft14.md)
- [init(_:)](swift/binaryfloatingpoint/init(_:)-1nijh.md)
- [init(_:)](swift/binaryfloatingpoint/init(_:)-shau.md)

### Converting with No Loss of Precision

- [init(exactly:)](swift/binaryfloatingpoint/init(exactly:).md)

### Creating a Random Value

- [random(in:)](swift/binaryfloatingpoint/random(in:)-2j16p.md)
- [random(in:)](swift/binaryfloatingpoint/random(in:)-8jkjb.md)
- [random(in:using:)](swift/binaryfloatingpoint/random(in:using:)-6pf7f.md)
- [random(in:using:)](swift/binaryfloatingpoint/random(in:using:)-2awm8.md)

### Working with Binary Representation

- [binade](swift/binaryfloatingpoint/binade.md)
- [exponentBitPattern](swift/binaryfloatingpoint/exponentbitpattern.md)
- [significandBitPattern](swift/binaryfloatingpoint/significandbitpattern.md)
- [significandWidth](swift/binaryfloatingpoint/significandwidth.md)
- [exponentBitCount](swift/binaryfloatingpoint/exponentbitcount.md)
- [significandBitCount](swift/binaryfloatingpoint/significandbitcount.md)
- [init(sign:exponentBitPattern:significandBitPattern:)](swift/binaryfloatingpoint/init(sign:exponentbitpattern:significandbitpattern:).md)
- [RawExponent](swift/binaryfloatingpoint/rawexponent.md)
- [RawSignificand](swift/binaryfloatingpoint/rawsignificand.md)

### Initializers

- [init(_:format:lenient:)](swift/binaryfloatingpoint/init(_:format:lenient:)-166j0.md)
- [init(_:format:lenient:)](swift/binaryfloatingpoint/init(_:format:lenient:)-2b9qt.md)
- [init(_:format:lenient:)](swift/binaryfloatingpoint/init(_:format:lenient:)-2p118.md)
- [init(_:strategy:)](swift/binaryfloatingpoint/init(_:strategy:)-4vta0.md)

### Instance Methods

- [formatted()](swift/binaryfloatingpoint/formatted().md)
- [formatted(_:)](swift/binaryfloatingpoint/formatted(_:)-4ksqj.md)
- [formatted(_:)](swift/binaryfloatingpoint/formatted(_:)-83x4n.md)

### Default Implementations

- [BinaryFloatingPoint Implementations](swift/binaryfloatingpoint/binaryfloatingpoint-implementations.md)

## Relationships

### Inherits From

- [AdditiveArithmetic](swift/additivearithmetic.md)
- [Comparable](swift/comparable.md)
- [Equatable](swift/equatable.md)
- [ExpressibleByFloatLiteral](swift/expressiblebyfloatliteral.md)
- [ExpressibleByIntegerLiteral](swift/expressiblebyintegerliteral.md)
- [FloatingPoint](swift/floatingpoint.md)
- [Hashable](swift/hashable.md)
- [Numeric](swift/numeric.md)
- [SignedNumeric](swift/signednumeric.md)
- [Strideable](swift/strideable.md)

### Conforming Types

- [Double](swift/double.md)
- [Float](swift/float.md)
- [Float16](swift/float16.md)
- [Float80](swift/float80.md)

## See Also

### Floating Point

- [FloatingPoint](swift/floatingpoint.md)
