Вы счастливы, что понимаете основы чисел?Если нет, то вам нужно будет прочитать об этом, или вы просто будете слепо следовать некоторым правилам.
Множество книг потратили бы на это целую главу или больше ...
Двоичный - это основание 2, десятичный - это основание 10, шестнадцатеричный - это основание 16.
Итак, двоичныйиспользует цифры 0 и 1, десятичное число использует 0-9, шестнадцатеричное использует 0-9, а затем мы заканчиваем, поэтому мы также используем AF.
Таким образом, положение десятичной цифры указывает единицы, десятки, сотни, тысячи... это "степени 10"
Положение двоичной цифры указывает единицы, 2 с, 4 с, 8 с, 16 с, 32 с ... Сила 2
Позицияшестнадцатеричные цифры обозначают единицы, 16 с, 256 с ... степени 16
Для от двоичного к десятичному , сложите каждый 1
, умноженный на его «мощность», поэтому, работая справаслева:
1001 binary = 1*1 + 0*2 + 0*4 + 1*8 = 9 decimal
Для двоичного в шестнадцатеричный вы можете либо вычислить общее число в десятичном виде, а затем преобразовать в шестнадцатеричное, либо вы можете преобразовать каждую 4-битную последовательность водна шестнадцатеричная цифра:
1101 binary = 13 decimal = D hex
1111 0001 binary = F1 hex
Для от шестнадцатеричного до двоичного , переверните предыдущий пример - это не так уж плоходелать в своей голове, потому что вам просто нужно выяснить, какие из 8,4,2,1 вам нужно сложить, чтобы получить желаемое значение.
Для десятичное в двоичное , это большепроблемы с длинным делением - найдите наибольшую степень 2, меньшую, чем ваш вход, установите соответствующий двоичный бит равным 1 и вычтите эту степень 2 из исходного десятичного числа.Повторяйте до тех пор, пока у вас не останется ноль.
Например, для 87:
- наивысшая степень двух - 1,2,4,8,16,32, 64 !
- 64 равно 2 ^ 6, поэтому мы устанавливаем соответствующий бит равным 1 в нашем результате: 1000000
- 87 - 64 = 23
- следующая наибольшая степень 2меньше 23 равно 16, поэтому установите бит: 1010000
- повторите для 4,2,1
- окончательный результат 1010111 двоичный
- т.е. 64 + 16 + 4 + 2 +1 = 87 в десятичном виде
Для от шестнадцатеричного до десятичного , это как двоичное в десятичное, только вы умножаете на 1,16,256 ... вместо 1,2,4,8...
Для от десятичного до шестнадцатеричного это похоже на десятичное на двоичное, только вы ищете степени 16, а не 2. Это сложнее всего сделать вручную.