Template:Digit

From Meta, a Wikimedia project coordination wiki


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.