Я пришел acrros этой линии:Java - что означает 0xXXXc?
int b = (0x001c >> 1)
И я не знаю, что этот маленький c
рядом с 0x001
средствами. Я знаю, что 0x
для гекс, но я никогда не видел этого c
перед ..
Благодаря
Я пришел acrros этой линии:Java - что означает 0xXXXc?
int b = (0x001c >> 1)
И я не знаю, что этот маленький c
рядом с 0x001
средствами. Я знаю, что 0x
для гекс, но я никогда не видел этого c
перед ..
Благодаря
В базе 10, есть десять цифр: 0, 1, 2, 3, 4, 5, 6 , 7, 8, 9
В основании 2, есть только два: 0, 1
В шестнадцатеричной (основание 16), есть 16: 0-9 и а, б, в, г, е & f. Иногда используется заглавная буква: оба они в порядке.
Так 0x001c
означает 0x1 х 16 + 0xc х 1 = 16 + 12 = 28
Это здесь
int b = (0x001c >> 1)
может быть проанализирован как:
так б инициализируется с результатом операции 0x001c >> 1 рано или поздно вы обнаружите, что эта операция является лишь деление на 2
Эта линия создает целую переменную инициализирован со значением 14
C
является шестнадцатеричный C
, который равен 12 (в десятичной системе).
В вашем случае 0x001C
смещен справа на 1
.
Иными словами, 28
(в десятичной системе), сдвинутым на 1-е место вправо, будет 14
(в десятичной форме).
В двоичном,
0...00 00011100 >> 00000001
дает ..
0...00 00001110(in binary)
Что: 14
(в десятичной системе) или E
(в шестнадцатеричном)
Вы уверены, что это не просто шестнадцатеричная цифра C? – Arc676
Да, ты прав, моя ошибка. – Noam