FastLED 3.9.15
Loading...
Searching...
No Matches

◆ utoa64()

int fl::utoa64 ( u64 value,
char * buffer,
int radix )

Convert unsigned 64-bit integer to string buffer in given radix.

Parameters
valueThe unsigned 64-bit integer value to convert
bufferOutput buffer (must be at least 65 bytes for base 2, 21 for base 10, 17 for base 16)
radixNumber base (2-36, typically 10 for decimal, 16 for hex, 8 for octal)
Returns
Number of characters written (excluding null terminator)

Definition at line 162 of file charconv.cpp.hpp.

162 {
163 char tmp[32]; // larger buffer for 64-bit values
164 char *tp = tmp;
165 int i;
166 u64 v = value;
167
168 while (v || tp == tmp) {
169 i = v % radix;
170 v = radix ? v / radix : 0;
171 if (i < 10)
172 *tp++ = i + '0';
173 else
174 *tp++ = i + 'a' - 10;
175 }
176
177 int len = tp - tmp;
178
179 while (tp > tmp)
180 *sp++ = *--tp;
181
182 *sp = '\0'; // Null-terminate the string
183 return len;
184}
constexpr int type_rank< T >::value
fl::u64 u64
Definition s16x16x4.h:221

References type_rank< T >::value.

Referenced by append_u64_decimal(), fl::sstream::appendFormatted(), fl::sstream::appendFormatted(), fl::basic_string::appendHex(), fl::basic_string::appendOct(), ieee754_format_decimal(), fl::SerialPort::print(), and fl::SerialPort::println().

+ Here is the caller graph for this function: