Comments on Convert to Hexadecimal
Parent
Convert to Hexadecimal
Challenge
Write a program that takes in a number greater than or equal to 0 and outputs its representation in hexadecimal (base 16).
Examples
0 => 0
1 => 1
10 => A
15 => F
16 => 10
107 => 6B
153 => 99
207 => CF
1000 => 3E8
10381 => 288D
48821 => BEB5
Rules
- No built-in hexadecimal functions.
- More generally, any base conversion function is considered to be disallowed.
- Letters can be uppercase or lowercase.
- It should work at least for all inputs greater than 0 up to the language's default type limit.
- Leading zeros in the output is fine. (i.e.
000003E8
for 32-bit numbers) - This is [code-golf], so shortest code wins.
Vyxal, 24 bytes ``` 16ʀẋf …
2mo ago
Lean 4, 103 100 95 83 bytes …
1mo ago
[JavaScript (Node.js)], 60 byt …
4d ago
Post
JavaScript (Node.js), 60 bytes
n=>{for(l='';n;l="0123456789ABCDEF"[n%16]+l,n>>=4);return l}
Explanation
n=>{for(l='';n;l="0123456789ABCDEF"[n%16]+l,n>>=4);return l}/*
l=''; | Starting with an empty string...
for( n; ); | ...loop while n still has hex digits (i.e. nonzero):
l="0123456789ABCDEF"[n%16]+l, | add the hex digit corresponding to n mod 16 on the left (so no +=)
n>>=4 | then floor division by 16
n=>{ return l} | (in an anonymous arrow function)
💎*/
Created with the help of Luminespire.
Caveats
"It should work at least for all inputs greater than 0 up to the language's default type limit." - the question. (i.e. returning an empty string for 0 is fine)
"The empty string is a syntactically valid representation of zero in positional notation (in any base), which does not contain leading zeros." - Wikipedia, which agrees with my opinion, but that doesn't matter anyways as stated above
2 comment threads