 |
|

23.07.2007, 09:49
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
С нами:
10721066
Репутация:
4360
|
|
Сообщение от Дикс
Это всё задание учебника. Здесь нужно использовать именно массив байтов.
Если написать число через точку - оно становится double:
conversion from 'const double' to 'char', possible loss of data
а если вот так
*(float *)cur++ = 5.12;
то
warning C4305: '=' : truncation from 'const double' to 'float'
Как мне задать нормальный флоат?
(float)5.12 уже не рулит?
|
|
|

23.07.2007, 09:50
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
С нами:
10721066
Репутация:
4360
|
|
Сообщение от nc.STRIEM
вобще char это тот же int, ток в нем хранятья asci коды символов, и памяти под него выделяеться сток скок под int
Стрём, учи матчать. Ни одного верного слова в предложении
|
|
|

23.07.2007, 09:59
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
С нами:
10088966
Репутация:
646
|
|
Под char выделен 1 байт, а под int, насколько помню, 2 или 4 байта, в зависимости от платформы
|
|
|

23.07.2007, 13:43
|
|
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
С нами:
11042306
Репутация:
2726
|
|
> вобще char это тот же int, ток в нем хранятья asci коды символов, и памяти под него выделяеться сток скок под int
char - 1 байт
int, long, DWORD - 4 байта
short, short int, WORD - 2 байта
Или типа программа динамически выделяет память в зависимости от платформы?)))
|
|
|

23.07.2007, 14:09
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
С нами:
10721066
Репутация:
4360
|
|
KEZ, int на 8086 2 байта. на x86 4 байта
|
|
|

23.07.2007, 14:16
|
|
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
С нами:
11042306
Репутация:
2726
|
|
что значит на 8086 2 байта?
|
|
|

23.07.2007, 14:22
|
|
Banned
Регистрация: 13.12.2005
Сообщений: 1,091
С нами:
10741286
Репутация:
1847
|
|
cout << "The size of a char is:\t\t" << sizeof(char) << " bytes.\n";
The size of a char is: 1 bytes.
|
|
|

23.07.2007, 14:23
|
|
Banned
Регистрация: 20.06.2005
Сообщений: 880
С нами:
10994966
Репутация:
1332
|
|
компиляция под 8086 архитектуру типа int будет содержать в себе 2 байта вместо привычных 4. кстати, никто не обещает, что байт равный char'у в левой архитектуре будет октетом и содержать 8 бит, поэтому используем, например stdint.h
|
|
|

24.07.2007, 01:45
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
С нами:
10088966
Репутация:
646
|
|
Проверь на Паскале и Делфи writeln(sizeof(integer)); В Паскале - 2, в Делфи - 4. На этом иногда ловятся (задача: дан массив чисел в диапазоне 1..100000 ..., в Паскале int'a не хватает).
|
|
|

24.07.2007, 08:37
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
С нами:
10721066
Репутация:
4360
|
|
Сообщение от kez
что значит на 8086 2 байта?
В 16битных процессорах инт был 16 бит или 2 байта - максимальное число, обрабаьываемое процессором
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|