C/C++
Вопрос к программистам
Проблема с переводом из десятичной системы в шестнадцатеричную. Не понимаю каким образом там используют латинские буквы вместо цифр. Прочитал много информации в интернете и ничего не понял. Прошу кого то объяснить мне
Там нет того, что следует понимать. Тупая замена
начнем с того, что шестнадцатиричные (hex) цифры - это краткое написание двоичных (bin). на аппаратном уровне в компьютере все цифры двоичные: 1 - напряжение есть, 0 - напряжения нет. только записывать все в 0 и 1 длинно и читается плохо, потому обычно записывают в hex. десятичная система (dec) тут, в общем, ни при чем. просто людям со школы удобнее десятичными цифрами оперировать. компьютер так не делает и только для представления пользователю переводит цифры в десятичные.
не устаю удивляться тупости редактора ответов - он tab порезал. :) потому пришлось сделать на чертоках.
dec - hex - bin
0 - 0 - 0000
1 - 1 - 0001
2 - 2 - 0010
3 - 3 - 0011
4 - 4 - 0100
5 - 5 - 0101
6 - 6 - 0110
7 - 7 - 0111
8 - 8 - 1000
9 - 9 - 1001
10 - A - 1010
11 - B - 1011
12 - C - 1100
13 - D - 1101
14 - E - 1110
15 - F - 1111
вот потому их 16 - чтобы отражать все состаяния 4 бит. один байт, соответственно - это 2 шестнадцатеричные цифры от 00 (dec 0) до FF (dec 255).
потому перевод из dec в hex обычно не требуется, ибо цифра уже хранится как hex и только представляется как dec. а если дело именно в представлении - обычно есть готовые функции, которые преобразуют число в стороку, в том числе в hex. поищи в документации своего IDE.
не устаю удивляться тупости редактора ответов - он tab порезал. :) потому пришлось сделать на чертоках.
dec - hex - bin
0 - 0 - 0000
1 - 1 - 0001
2 - 2 - 0010
3 - 3 - 0011
4 - 4 - 0100
5 - 5 - 0101
6 - 6 - 0110
7 - 7 - 0111
8 - 8 - 1000
9 - 9 - 1001
10 - A - 1010
11 - B - 1011
12 - C - 1100
13 - D - 1101
14 - E - 1110
15 - F - 1111
вот потому их 16 - чтобы отражать все состаяния 4 бит. один байт, соответственно - это 2 шестнадцатеричные цифры от 00 (dec 0) до FF (dec 255).
потому перевод из dec в hex обычно не требуется, ибо цифра уже хранится как hex и только представляется как dec. а если дело именно в представлении - обычно есть готовые функции, которые преобразуют число в стороку, в том числе в hex. поищи в документации своего IDE.
0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 6
7 = 7
8 = 8
9 = 9
10 = A
11 = B
12 = C
13 = D
14 = E
15 = F
16 = 10
17 = 11
18 = 12
19 = 13
20 = 14
21 = 15
22 = 16
23 = 17
24 = 18
25 = 19
26 = 1A
27 = 1B
28 = 1C
29 = 1D
30 = 1E
31 = 1F
32 = 20
Логика понятна? Уж не знаю как еще нагляднее показать
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 6
7 = 7
8 = 8
9 = 9
10 = A
11 = B
12 = C
13 = D
14 = E
15 = F
16 = 10
17 = 11
18 = 12
19 = 13
20 = 14
21 = 15
22 = 16
23 = 17
24 = 18
25 = 19
26 = 1A
27 = 1B
28 = 1C
29 = 1D
30 = 1E
31 = 1F
32 = 20
Логика понятна? Уж не знаю как еще нагляднее показать
Похожие вопросы
- Вопрос к программистам
- Что вы говорите про себя, программируя бредовое поручение начальника? Это вопрос к программистам.
- У меня вот такой вопрос, к опытным программистам. По поводу c++, и математики.
- На какие технологии с/с++ обратить внимание для трудоустройства программистом?
- Стоит ли учиться на программиста чтобы создавать игры?
- Товарищи программисты,помогите решить задачу для 1 курса .
- Совет по обучению на программиста.
- Программисты, нужна помощь
- Как стать программистом с нуля и тяжело ли это?
- Устройство на работу программистом
Тупицы логики не понимают. Объяснить, что в двоичной системе цифр 2, в восьмеричной - 8, в 10-ной цифр 10, а в 16 цифр должно быть 16 (от нуля до пятнадцати) им не возможно. И не нужно.
Пусть занимаются танцами или борщи варят
А то что буквы - это просто обозначения цифр от 10 до 15 им все равно не понять.