{
localUrl: '../page/emulating_digits.html',
arbitalUrl: 'https://arbital.com/p/emulating_digits',
rawJsonUrl: '../raw/4sk.json',
likeableId: '2853',
likeableType: 'page',
myLikeValue: '0',
likeCount: '1',
dislikeCount: '0',
likeScore: '1',
individualLikes: [
'EricRogstad'
],
pageId: 'emulating_digits',
edit: '2',
editSummary: 'if -> If',
prevEdit: '1',
currentEdit: '2',
wasPublished: 'true',
type: 'wiki',
title: 'Emulating digits',
clickbait: '',
textLength: '1783',
alias: 'emulating_digits',
externalUrl: '',
sortChildrenBy: 'likes',
hasVote: 'false',
voteType: '',
votesAnonymous: 'false',
editCreatorId: 'EricRogstad',
editCreatedAt: '2016-06-25 17:14:02',
pageCreatorId: 'NateSoares',
pageCreatedAt: '2016-06-24 05:14:02',
seeDomainId: '0',
editDomainId: 'AlexeiAndreev',
submitToDomainId: '0',
isAutosave: 'false',
isSnapshot: 'false',
isLiveEdit: 'true',
isMinorEdit: 'false',
indirectTeacher: 'false',
todoCount: '0',
isEditorComment: 'false',
isApprovedComment: 'true',
isResolved: 'false',
snapshotText: '',
anchorContext: '',
anchorText: '',
anchorOffset: '0',
mergedInto: '',
isDeleted: 'false',
viewCount: '35',
text: 'In general, given enough $n$-digits, you can emulate an $m$-digit, for any $m, n \\in$ [45h $\\mathbb N$]. If $m < n,$ you can emulate an $m$-digit using just one $n$-digit — in other words, you can use a [-42d] like a $7$-digit if you want to, by just ignoring three of the possible ways to set the digit wheel. If $m > n,$ things are a bit more difficult, but only slightly.\n\nBasically, with 2 $n$-digits, you can emulate a $n^2$-digit, as follows. Using your two $n$-digits, encode a number $(x, y)$ where $0 \\le x < n$ and $0 \\le y < n$. Interpret $(x, y)$ as $xn + y.$ You have now encoded a number between 0 (if $x = y = 0$) and $n^2 - 1$ (if $x = y = n-1$). Congratulations, you just used two $n$-digits to make an $n^2$ digit!\n\nYou can use the same strategy to emulate $n^3$-digits (interpret $(x, y, z)$ as $xn^2 + yn + z$), $n^4$-digits (you get the picture), and so on. Now, to emulate an $m$-digit, just pick an exponent $a$ such that $n^a > m,$ collect $a$ copies of an $n$-digit, and you're done.\n\nThis isn't necessarily the most efficient way to use $n$-digits to encode $m$-digits. For example, if $m$ is 1,000,001 and $n$ is 10, then you need seven 10-digits. Seven 10-digits are enough to emulate a 10-million-digit, whereas $m$ is a mere million-and-one-digit — paying for a 10-million-digit when all you needed was an $m$-digit seems a bit excessive. For some different methods you can use to recover your losses when encoding one type of digit using another type of digit, see [44l] and [3ty]. (These techniques are fairly useful in practice, given that modern computers encode everything using [3p0 bits], i.e. 2-digits, and so it's useful to know how to efficiently encode $m$-messages using bits when $m$ is pretty far from the nearest power of 2.)',
metaText: '',
isTextLoaded: 'true',
isSubscribedToDiscussion: 'false',
isSubscribedToUser: 'false',
isSubscribedAsMaintainer: 'false',
discussionSubscriberCount: '2',
maintainerCount: '2',
userSubscriberCount: '0',
lastVisit: '',
hasDraft: 'false',
votes: [],
voteSummary: 'null',
muVoteSummary: '0',
voteScaling: '0',
currentUserVote: '-2',
voteCount: '0',
lockedVoteType: '',
maxEditEver: '0',
redLinkCount: '0',
lockedBy: '',
lockedUntil: '',
nextPageId: '',
prevPageId: '',
usedAsMastery: 'false',
proposalEditNum: '0',
permissions: {
edit: {
has: 'false',
reason: 'You don't have domain permission to edit this page'
},
proposeEdit: {
has: 'true',
reason: ''
},
delete: {
has: 'false',
reason: 'You don't have domain permission to delete this page'
},
comment: {
has: 'false',
reason: 'You can't comment in this domain because you are not a member'
},
proposeComment: {
has: 'true',
reason: ''
}
},
summaries: {},
creatorIds: [
'NateSoares',
'EricRogstad'
],
childIds: [],
parentIds: [
'math'
],
commentIds: [],
questionIds: [],
tagIds: [],
relatedIds: [],
markIds: [],
explanations: [],
learnMore: [],
requirements: [],
subjects: [],
lenses: [],
lensParentId: '',
pathPages: [],
learnMoreTaughtMap: {},
learnMoreCoveredMap: {},
learnMoreRequiredMap: {},
editHistory: {},
domainSubmissions: {},
answers: [],
answerCount: '0',
commentCount: '0',
newCommentCount: '0',
linkedMarkCount: '0',
changeLogs: [
{
likeableId: '0',
likeableType: 'changeLog',
myLikeValue: '0',
likeCount: '0',
dislikeCount: '0',
likeScore: '0',
individualLikes: [],
id: '14594',
pageId: 'emulating_digits',
userId: 'EricRogstad',
edit: '2',
type: 'newEdit',
createdAt: '2016-06-25 17:14:02',
auxPageId: '',
oldSettingsValue: '',
newSettingsValue: 'if -> If'
},
{
likeableId: '0',
likeableType: 'changeLog',
myLikeValue: '0',
likeCount: '0',
dislikeCount: '0',
likeScore: '0',
individualLikes: [],
id: '14560',
pageId: 'emulating_digits',
userId: 'NateSoares',
edit: '0',
type: 'newParent',
createdAt: '2016-06-24 05:14:04',
auxPageId: 'math',
oldSettingsValue: '',
newSettingsValue: ''
},
{
likeableId: '0',
likeableType: 'changeLog',
myLikeValue: '0',
likeCount: '0',
dislikeCount: '0',
likeScore: '0',
individualLikes: [],
id: '14558',
pageId: 'emulating_digits',
userId: 'NateSoares',
edit: '1',
type: 'newEdit',
createdAt: '2016-06-24 05:14:02',
auxPageId: '',
oldSettingsValue: '',
newSettingsValue: ''
}
],
feedSubmissions: [],
searchStrings: {},
hasChildren: 'false',
hasParents: 'true',
redAliases: {},
improvementTagIds: [],
nonMetaTagIds: [],
todos: [],
slowDownMap: 'null',
speedUpMap: 'null',
arcPageIds: 'null',
contentRequests: {}
}