2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 11:32 


22/07/12
560
Chifu в сообщении #640656 писал(а):
А $\lfloor ... \rfloor$ как определяется?

Округление к меньшему или другими словами до целого к $-\infty$

 Профиль  
                  
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 11:41 
Заслуженный участник
Аватара пользователя


30/01/06
72407
При сдвиге влево, переполнение может быть для числа $A\cdot 2^X,$ но не для числа $-A\cdot 2^X.$ Тогда $C$ будет вычисляться уже после переполнения. Будет ли оно идентичным числу $B,$ как вы говорите?

 Профиль  
                  
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 13:08 
Аватара пользователя


27/01/09
814
Уфа
main.c в сообщении #640660 писал(а):
Округление к меньшему или другими словами до целого к $-\infty$
Вот и надо объяснить, что при отбрасывании младшего бита положительные числа округляются в меньшую сторону, а отрицательные в меньшую, но большую по абсолютной величине сторону, отсюда если отбрасывается 1 (нечётный код), то будет разница на значение младшего значащего разряда при округлении отрицательных чисел полученных разными методами, а если отбрасывается 0 (чётный код), то нет.

 Профиль  
                  
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 16:08 


22/07/12
560
Munin в сообщении #640664 писал(а):
При сдвиге влево, переполнение может быть для числа $A\cdot 2^X,$ но не для числа $-A\cdot 2^X.$ Тогда $C$ будет вычисляться уже после переполнения. Будет ли оно идентичным числу $B,$ как вы говорите?

Например?

 Профиль  
                  
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 17:24 
Заслуженный участник
Аватара пользователя


30/01/06
72407
$A\cdot 2^X=128.$

 Профиль  
                  
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 18:54 


22/07/12
560
Munin в сообщении #640773 писал(а):
$A\cdot 2^X=128.$
сдвинули, теперь берём отрицание, получим $-128$.
Вот так там будет, если более подробно.
Пример: $-A = -64, X = 1 $, двигаем влево, было $11000000$, станет $10000000$, то есть $B = -128$.
Второй вариант, берём модуль, получится $01000000$, сдвигаем влево, $10000000$, а теперь берём отрицание этого числа, т.е. дополнительный код и получаем $10000000$, $C = -128$.
Итог, $B = C$, что как раз и является выводом в моих рассуждениях.

 Профиль  
                  
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 22:04 
Заслуженный участник
Аватара пользователя


30/01/06
72407
И как вы от этого 1000 0000 берёте дополнительный код?

 Профиль  
                  
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 22:19 


22/07/12
560
Очень просто, инвертирую все биты, получаю $01111111$, а затем прибавляю единицу в младшем разряде и получаю $10000000$, Вы со мной не согласны?

 Профиль  
                  
 
 Re: Операция побитового сдвига и представление целых чисел
Сообщение06.11.2012, 22:55 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Ну, если вы уверены, то можете в таком виде и сдавать. Мои сомнения относятся к другому пониманию слова "дополнительный код", так что вас они не затрагивают.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group