Как в C переменной типа float/double присвоить hex число с точкой? Вариант типа: float a=0x0.0x1, не работает. Выдает:
Код: Выделить всё
error: hexadecimal floating constants require an exponentМодератор: Модераторы разделов
Код: Выделить всё
error: hexadecimal floating constants require an exponentКод: Выделить всё
float a = 0x.1P0;0x0.0x1
Rootlexx писал(а): ↑30.09.2010 00:51- 1/16.Код: Выделить всё
float a = 0x.1P0;
Почитайте: http://h30097.www3.hp.com/dtk/Compaq_C_Com...rm/DOCU0002.HTM , раздел 1.8.2.3.
Rootlexx писал(а): ↑30.09.2010 00:51- 1/16.Код: Выделить всё
float a = 0x.1P0;
Почитайте: http://h30097.www3.hp.com/dtk/Compaq_C_Com...rm/DOCU0002.HTM , раздел 1.8.2.3.
0x1P-1 0.500000 double
0x.1P3 0.500000
Код: Выделить всё
13,25 = 1 * 10^1 + 3 * 10 ^ 0 + 2 * 10^(-1) + 5 * 10^(-2)Код: Выделить всё
1101,01 = 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2^0 + 0 * 2^(-1) + 1 * 2^(-2)Код: Выделить всё
13,25 = 1,325 * 10^1 = 1,325E+1
10504,2160 = 1,0504216 * 10^4 = 1,0504216E+4Код: Выделить всё
float eq_12 = 0x1.8P3;Код: Выделить всё
1.8P3Код: Выделить всё
0x1.8P3 = 0x1.8 * 2^3 = (1 * 16^0 + 8 * 16^(-1)) * 2^3 = 12Rootlexx писал(а): ↑01.10.2010 00:21
0x1.8.
Читайте: http://ru.wikipedia.org/wiki/Экспоненциальная_запись .