Convert a number to Hexadecimal Challenge

Here's a simple one.

Write a function or program when given a number in base 10 as input, it will return or print that number's value in Hexadecimal.

Examples

15 -&gt; F
1000 -&gt; 3E8
256 -&gt; 100


Rules


No built-in Hexadecimal functions whatsoever
Letters may be lowercase or uppercase
You will only need to worry about non-negative integers, no negatives or pesky decimals
It should work with any arbitrarily large number up to language's default type's limit.
Newline not mandatory
As usual, this is code-golf, so shortest code measured in bytes wins!
Turing Machine Code, 412 bytes

As usual, I'm using the rule table syntax defined here. You can test it on that site or, alternatively, using this java implementation.

0 * * l B
B * * l C
C * 0 r D
D * * r E
E * * r A
A _ * l 1
A * * r *
1 0 9 l 1
1 1 0 l 2
1 2 1 l 2
1 3 2 l 2
1 4 3 l 2
1 5 4 l 2
1 6 5 l 2
1 7 6 l 2
1 8 7 l 2
1 9 8 l 2
1 _ * r Y
Y * * * X
X * _ r X
X _ _ * halt
2 * * l 2
2 _ _ l 3
3 * 1 r 4
3 1 2 r 4
3 2 3 r 4
3 3 4 r 4
3 4 5 r 4
3 5 6 r 4
3 6 7 r 4
3 7 8 r 4
3 8 9 r 4
3 9 A r 4
3 A B r 4
3 B C r 4
3 C D r 4
3 D E r 4
3 E F r 4
3 F 0 l 3
4 * * r 4
4 _ _ r A


Counts down from the input in base 10 while counting up from 0 in base 16. On decrementing zero, it erases the input block and terminates.