<!--
{
  "availability" : [
    "DriverKit: -",
    "iOS: -",
    "iPadOS: -",
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "DriverKit",
  "identifier" : "/documentation/DriverKit/OSNumber",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "DriverKit"
    ],
    "preciseIdentifier" : "c:@S@OSNumber"
  },
  "title" : "OSNumber"
}
-->

# OSNumber

A container for an integer value.

```
class OSNumber;
```

## Overview

OSNumber represents an integer of 8, 16, 32, or 64 bits as a DriverKit container object. OSNumber objects are immutable.

## Topics

### Creating a Number Object

[`static OSNumberPtr withNumber(uint64_t value, size_t numberOfBits);`](/documentation/DriverKit/OSNumber/withNumber-5rcqv)

Allocates an OSNumber object with value and size.

[`static OSNumberPtr withNumber(const char *valueString, size_t numberOfBits);`](/documentation/DriverKit/OSNumber/withNumber-2c6oe)

Allocates an OSNumber object with value from a c-string and size.

[`OSNumberPtrOSNumberCreateWithUInt64Value(uint64_t value);`](/documentation/DriverKit/OSNumberCreateWithUInt64Value)

[`virtual void free();`](/documentation/DriverKit/OSNumber/free)

[`typedef OSNumber * OSNumberPtr;`](/documentation/DriverKit/OSNumberPtr)

### Getting Integer Values

[`uint8_t unsigned8BitValue() const;`](/documentation/DriverKit/OSNumber/unsigned8BitValue)

Returns the value of the OSNumber as a uint8_t value.

[`uint16_t unsigned16BitValue() const;`](/documentation/DriverKit/OSNumber/unsigned16BitValue)

Returns the value of the OSNumber as a uint16_t value.

[`uint32_t unsigned32BitValue() const;`](/documentation/DriverKit/OSNumber/unsigned32BitValue)

Returns the value of the OSNumber as a uint32_t value.

[`uint64_t unsigned64BitValue() const;`](/documentation/DriverKit/OSNumber/unsigned64BitValue)

Returns the value of the OSNumber as a uint64_t value.

[`uint64_t OSNumberGetUInt64Value(OSNumberPtr obj);`](/documentation/DriverKit/OSNumberGetUInt64Value)

### Inspecting a Number

[`size_t numberOfBits() const;`](/documentation/DriverKit/OSNumber/numberOfBits)

Returns the number of bits the OSNumber was created with.

### Comparing Numbers

[`virtual bool isEqualTo(const OSMetaClassBase *anObject) const;`](/documentation/DriverKit/OSNumber/isEqualTo-333kh)

Compares the string with an OSObject

[`bool isEqualTo(const OSNumber *aNumber) const;`](/documentation/DriverKit/OSNumber/isEqualTo-58rb9)

Compares the number with an OSNumber.

## Relationships

### Inherits From

[`OSContainer`](/documentation/DriverKit/OSContainer)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)