开发者

Converting between numbering systems

开发者 https://www.devze.com 2023-01-13 18:02 出处:网络
I\'m trying to understand the reason for a rule when converting. I\'m sure there must be a simple explanation, but I can\'t seem to wrap my head around it.

I'm trying to understand the reason for a rule when converting. I'm sure there must be a simple explanation, but I can't seem to wrap my head around it. Appreciate any help!

Converting from base10 to any other base is done like this:

number / desiredBase = number + remainder

You do this until number = 0.

But a开发者_StackOverflow中文版fter all of the calculations, you have to take all the remainders upside down. I don't understand why.

For example: base10 number to base2

11 / 2 = 5 + 1
5 / 2  = 2 + 1
2 / 2  = 1 + 0
1 / 2  = 0 + 1

Why is the correct answer: 1011 and not 1101 ?

I know it's a little petty, but it would really help me remember better if I could understand this.


Think of the same in decimal system, even if it doesn't make that much sense to actually do the math in this case :)

1234 / 10 = 123 | 4
123 / 10  = 12  | 3
12 / 10   = 1   | 2
1 / 10    = 0   | 1

Every time you divide, you strip the least significant digit, so the first result, is the least significant result -- digit on the right.


Because 11 =

1 * 2 ^ 3 + 0 * 2 ^ 2 + 1 * 2 ^ 1 + 1 * 2 ^ 0 (1011)

and not

1 * 2 ^ 3 + 1 * 2 ^ 2 + 0 * 2 ^ 1 + 1 * 2 ^ 0 (1101)

0

精彩评论

暂无评论...
验证码 换一张
取 消