0xFF, язык Си |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
0xFF, язык Си |
Тёмный Эльф |
18.01.2008 19:06
Сообщение
#1
|
Влюблённый псих Группа: Пользователи Сообщений: 185 Пол: Женский Реальное имя: Лейла Репутация: 1 |
Объясните плиз.
long int znachenie; znachenie=0xF=15; znachenie=0xFF=255; znachenie=0xFFF=4095; znachenie=0xFFFF=-1; znachenie=0xFFFFF=-1; .... (борландовский компиль) Если 0xF=15 я понимаю (раз 15 соответв. F в шестнадцатеричной с.с.), то откуда взялись цифры 255, 4095, -1 не могу врубиться!!! Сообщение отредактировано: Тёмный Эльф - 18.01.2008 19:29 |
volvo |
18.01.2008 20:01
Сообщение
#2
|
Гость |
А теперь - то же самое запишем битами:
znachenie=0xF=15; // 0xF = 0000 0000 0000 1111 = (2^4) - 1 Переведи это в 10 c/c, и увидишь, откуда такие значения... |
Тёмный Эльф |
18.01.2008 20:33
Сообщение
#3
|
Влюблённый псих Группа: Пользователи Сообщений: 185 Пол: Женский Реальное имя: Лейла Репутация: 1 |
спасибо я поняла как считать, просто непонятно почему 0xFFFF выдает вместо 65 535 значение -1. Это как-то связано с переполнением типа int?
|
volvo |
18.01.2008 20:35
Сообщение
#4
|
Гость |
Это связано с тем, что у тебя на машине размер long int равен двум байтам (я не знаю, что это за компилятор и что за архитектура), и действительно имеет место переполнение...
|
xds |
19.01.2008 6:37
Сообщение
#5
|
N337 Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: 26 |
спасибо я поняла как считать, просто непонятно почему 0xFFFF выдает вместо 65 535 значение -1. Это как-то связано с переполнением типа int? -------------------- The idiots are winning.
|
Текстовая версия | 11.05.2024 15:36 |