2015-03-30 2 views
0

Я новичок в языке Swift и играю с ним. Я знаю, что на большинстве языков 1.5e3 означает 1.5 * 10 ^3, и это верно в Swift. Однако, когда наступает база 16, мне трудно понять ее. Ниже приведены 2 примера, надеюсь, кто-то может объяснить, что они являются:Быстрая научная нотация в базе 16

println(0x12e3) 
println(0x12p3) 

Результаты:

4835 
144.0 

ответ

1

Первый пример не использует экспоненциальное - потому что e является действительным цифра в шестнадцатеричной, это - это число 12E3, которое равно 4835 в десятичной системе.

(1 * 4096) + (2 * 256) + (14 * 16) + (3 * 1) = 4835 

Второй пример представляет собой шестнадцатеричное число 12 (18 в десятичной системе), умноженное на двоичный экспоненты (2^3), т.е. 8.

8 x 18 = 144 

Эта запись описана в Swift language documentation.

Смежные вопросы