Template:Digit

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search


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.