Преобразовать десятичное число < - > наговор

Ну, в случае локальной переменной ясно, что означает «раньше», поскольку поток программы между объявлением (в методе) и ссылкой последователен. В случае полей, объявленных вне метода, компилятор никогда не знает, какой код будет использоваться, когда он не сможет сгенерировать ошибку, поскольку, возможно, какой-либо другой метод будет инициализировать поле до его использования.

21
задан 1 March 2010 в 19:51
поделиться

2 ответа

Число в шестнадцатеричном формате:

(format "%X" 255) ;; => "FF"

Вы также можете дополнить значение нулями:

(format "%03X" 255) ;; => "0FF"

Где 0 - это символ, используемый для заполнения, а 3 - это число пространств для заполнения.

Шестнадцатеричная строка для числа

(string-to-number "FF" 16) ;; => 255

16 означает «читается как base-16».

30
ответ дан 29 November 2019 в 20:28
поделиться

Если вы просто хотите ввести шестнадцатеричное число в Emacs, нет необходимости вызывать преобразование строки в число , просто используйте #x синтаксис читателя:

#xFF
==> 255

Вы также можете использовать #b для двоичных чисел, #o для восьмеричных чисел или # 36r для базы 36:

#b10011001
==> 153
#o777
==> 511
#36rHELLO
==> 29234652

См. раздел 3.1 Основы целых чисел в Руководстве по Emacs Lisp

15
ответ дан 29 November 2019 в 20:28
поделиться