Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Представление в двоичном виде 
V
    Опции темы
inside_pointer
Дата 21.3.2008, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 9.3.2008

Репутация: 5
Всего: 12



Чему равно значение c в двоичном виде, если int занимает 4 байта ?

Код

int c;

c = EOF;



00000000 00000000 ........ ........ ?

Это сообщение отредактировал(а) inside_pointer - 21.3.2008, 07:28
PM MAIL   Вверх
ksili
Дата 21.3.2008, 07:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



EOF, если не ошибаюсь, это -1. поэтому в двоичном виде это будет
Код

11111111 11111111 11111111 11111111



--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
inside_pointer
Дата 21.3.2008, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 9.3.2008

Репутация: 5
Всего: 12



Ничо не ясно

А в чём разница между 
Код

11111111 11111111 11111111 11111111

и

0xffffffff


Как вообще это отрицательное число образовывается ?

Я думал когда все символы в 00000000 заполняются они начинают вылазить за левый край, поэтому вместо char используют int в таких ситуациях.
PM MAIL   Вверх
ksili
Дата 21.3.2008, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



Цитата(inside_pointer @  21.3.2008,  11:37 Найти цитируемый пост)
А в чём разница между 

11111111 11111111 11111111 11111111
и
0xffffffff

Разницы нет. Это одно число. Толко в первом случае оно записано в 16-ричном виде, а во втором в двоичном, как вы и просили. Ой, то есть наоборот  smile 
Отрицательное число - это число, которое в сумме с таким же положительным даст ноль. Пример:
прибавим к нашей минус единице единицу:

Код

11111111 11111111 11111111 11111111
+
00000000 00000000 00000000 00000001
=
1 00000000 00000000 00000000 00000000

Но единичка в старшем разряде не влазит в 32-разрядные регистры (или в формат int, если хотите), поэетому она отбрасывается (ну на самом деле не отбрасывается, а сохраняется в специальном регистре) и получается ноль:
00000000 00000000 00000000 00000000

значит минус единица это - 11111111 11111111 11111111 11111111, что и требовалось доказать

Это сообщение отредактировал(а) ksili - 21.3.2008, 07:54


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
inside_pointer
Дата 21.3.2008, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 9.3.2008

Репутация: 5
Всего: 12



А всё окей спасибо, ksili.

Добавлено @ 08:06
Код

00000000 00000000 00000000 00000010
11111111 11111111 11111111 11111110

00000000 00000000 00000000 00000011
11111111 11111111 11111111 11111101


Я всё правильно понял там 2 и -2, 3 и -3 ?

Всё разобрался.

Это сообщение отредактировал(а) inside_pointer - 21.3.2008, 11:07
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0727 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.