Template:Digit
This template gives the digit at a given position of a given positive integer, expressed in a specified numeral system.
- The first parameter gives the number.
- The second parameter is the position of the required digit (1 being the rightmost, 2 the one to the left, etc.).
- The third parameter is the radix of the numeral system (default:10), 2 for binary, 8 for octal, 16 for hexadecimal.
For a radix > 10, the value is given in decimals, for instance, 15 in the hexadecimal system will give for the rightmost digit 15 (which should be "F")
- Usage:
- {{Digit|decimal integer|digit no|numeral system number}}
- All parameters must be positive integers.
Examples
[edit]{{digit|13|1|2}}
→ 1{{digit|13|2|2}}
→ 0{{digit|13|3|2}}
→ 1{{digit|13|4|2}}
→ 1
{{digit|9002543211234567|1}}
→ 7{{digit|9002543211234567|2}}
→ 6{{digit|9002543211234567|3}}
→ 5{{digit|9002543211234567|4}}
→ 4{{digit|9002543211234567|5}}
→ 3{{digit|9002543211234567|6}}
→ 2{{digit|9002543211234567|7}}
→ 1{{digit|9002543211234567|8}}
→ 1{{digit|9002543211234567|9}}
→ 2{{digit|9002543211234567|10}}
→ 3{{digit|9002543211234567|11}}
→ 4{{digit|9002543211234567|12}}
→ 5{{digit|9002543211234567|13}}
→ 2{{digit|9002543211234567|14}}
→ 0{{digit|9002543211234567|15}}
→ 0{{digit|9002543211234567|16}}
→ 9{{digit|9002543211234567|17}}
→ 0{{digit|9002543211234567|18}}
→ 0{{digit|9002543211234567|19}}
→ 0
{{hex|9002543211234567}}
→1.ffbc3ee2e4507hex*2^52
{{digit|9002543211234567|1|16}}
→ 7{{digit|9002543211234567|2|16}}
→ 0{{digit|9002543211234567|3|16}}
→ 5{{digit|9002543211234567|4|16}}
→ 4{{digit|9002543211234567|5|16}}
→ 14{{digit|9002543211234567|6|16}}
→ 2{{digit|9002543211234567|7|16}}
→ 14{{digit|9002543211234567|8|16}}
→ 14{{digit|9002543211234567|9|16}}
→ 3{{digit|9002543211234567|10|16}}
→ 12{{digit|9002543211234567|11|16}}
→ 11{{digit|9002543211234567|12|16}}
→ 15{{digit|9002543211234567|13|16}}
→ 15{{digit|9002543211234567|14|16}}
→ 1{{digit|9002543211234567|15|16}}
→ 0
Large numbers of type integer
[edit]Special care has been taken to make the result exact even for large numbers of type integer.
{{digit|trunc(9134567890e9)+trunc123456789|1}}
→ 9
{{#expr:trunc16*trunc(9002543211234567)+trunc7}}
→ 144040691379753079
{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|1}}
→ 9{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|2}}
→ 7{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|3}}
→ 0{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|4}}
→ 3{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|5}}
→ 5{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|6}}
→ 7{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|7}}
→ 9{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|8}}
→ 7{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|9}}
→ 3{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|10}}
→ 1{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|11}}
→ 9{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|12}}
→ 6{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|13}}
→ 0{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|14}}
→ 4{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|15}}
→ 0{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|16}}
→ 4{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|17}}
→ 4{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|18}}
→ 1{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|19}}
→ 0
{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|1|1e3}}
→ 79{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|2|1e3}}
→ 753{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|3|1e3}}
→ 379{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|4|1e3}}
→ 691{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|5|1e3}}
→ 40{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|6|1e3}}
→ 144{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|7|1e3}}
→ 0
{{digit|trunc90140406913e8+trunc79753079|7|1e3}}
→ 9{{digit|trunc90140406913e8+trunc79753079|8|1e3}}
→ 0
{{hex|trunc1440406913e8+trunc79753079}}
→1.ffbc3ee2e4507hex*2^56
{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|1|16}}
→ 7{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|2|16}}
→ 7{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|3|16}}
→ 0{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|4|16}}
→ 5{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|5|16}}
→ 4{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|6|16}}
→ 14{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|7|16}}
→ 2{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|8|16}}
→ 14{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|9|16}}
→ 14{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|10|16}}
→ 3{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|11|16}}
→ 12{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|12|16}}
→ 11{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|13|16}}
→ 15{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|14|16}}
→ 15{{digit|trunc((trunc(1440406913))e trunc(7+1)+trunc79753079)|15|16}}
→ 1
Limitation
[edit]This template applies function mod with as second argument the third parameter and a power of it. Therefore it does not work properly if one of these is equal to one of the values for which mod does not work properly. Known values are 2^n-1 and 2^n+1 for n >= 32:
{{digit|7|1|2^32-1}}
→ 7{{digit|2^40|1|2^32-1}}
→ 256{{digit|2^40|2|2^32-1}}
→ 256
At least for powers with base <= 30 there are no errors with the test value 17 as first argument, see Help:Mod/powers.