---
title: "withNumber(const char *, unsigned int)"
framework: kernel
role: pseudoSymbol
path: kernel/osnumber/1808136-withnumber
---

# withNumber(const char *, unsigned int)

Creates and initializes an instance of OSNumber with an unsigned integer value represented as a C string.

## Declaration

```occ
static OSNumber * withNumber( 
 const char *valueString, 
 unsigned intnumberOfBits); 
```

## Parameters

- `valueString`: A C string representing a numeric value for the OSNumber to store.
- `numberOfBits`: The number of bits to limit storage to.

## Return Value

Return Value An instance of OSNumber with a reference count of 1; NULL on failure.

## Overview

Overview This function does not work in I/O Kit versions prior to 8.0 (OS X 10.4). In I/O Kit version 8.0 and later, it works but is limited to parsing unsigned 32 bit quantities. The format of the C string may be decimal, hexadecimal ("0x" prefix), binary ("0b" prefix), or octal ("0" prefix). The parsed value is masked to the provided numberOfBits when the OSNumber object is initialized. You can change the value of an OSNumber later using setValue and addValue, but you can't change the bit size.

## See Also

### Miscellaneous

- [addValue](kernel/osnumber/1808041-addvalue.md)
- [free](kernel/osnumber/1808049-free.md)
- [init(const char *, unsigned int)](kernel/osnumber/1808057-init.md)
- [init(unsigned long long, unsigned int)](kernel/osnumber/1808065-init.md)
- [isEqualTo(const OSMetaClassBase *)](kernel/osnumber/1808071-isequalto.md)
- [isEqualTo(const OSNumber *)](kernel/osnumber/1808076-isequalto.md)
- [numberOfBits](kernel/osnumber/1808083-numberofbits.md)
- [numberOfBytes](kernel/osnumber/1808091-numberofbytes.md)
- [serialize](kernel/osnumber/1808097-serialize.md)
- [setValue](kernel/osnumber/1808102-setvalue.md)
- [unsigned16BitValue](kernel/osnumber/1808108-unsigned16bitvalue.md)
- [unsigned32BitValue](kernel/osnumber/1808115-unsigned32bitvalue.md)
- [unsigned64BitValue](kernel/osnumber/1808123-unsigned64bitvalue.md)
- [unsigned8BitValue](kernel/osnumber/1808129-unsigned8bitvalue.md)
- [withNumber(unsigned long long, unsigned int)](kernel/osnumber/1808143-withnumber.md)
