Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Господа полиглоты, вопрос: Операнды в C#, C++, ... Добавлено: 20.06.03 05:20  

Автор вопроса:   Creator

 Может кто обьяснит действие операндав сдвига  >> и << в вышеуказанных языках......Сам я не сталкивался с этим ...т.к. в VB нет таковых ....

Подскажите плиз...... и если можно поподробней .....

Заранее благодарен .........

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Chill



ICQ: 554200 

Вопросов: 101
Ответов: 343
 Профиль | | #1 Добавлено: 20.06.03 11:29

Попробую объяснить. Это ОПЕРАЦИИ побитового сдвига. Они работают только для целочисленных операндов.

Т.е.

4<<2 авно 16

Пердставим числа в двоичном виде:

100

<<

10

======

10000

Сдвигаем число 100 на 10 (два) разряда влево.

============================================

То же самое обстоит со здвигом вправо (>>)

4>>2 = 1

======================

Вообще операция:

a<

равноценна операции

a*2^b (a умножить на 2 в степени b),

а операция:

a>>b

равноценна операции:

a/(2^b)(a разделить на 2 в степени b),

где a и b- любые целые числа.

Надеюсь, я достаточно доходчиво объяснил =)

Ответить

Номер ответа: 2
Автор ответа:
  Creator



Вопросов: 11
Ответов: 61
 Профиль | | #2 Добавлено: 20.06.03 15:06

 Благодарю, вроде понятно .....

Однако почему 1000 >> 4 = 3 никак в толк не возьму ....

Вроде по алгоритму 1000/(2^4)  должен быть другой результат ..... Обьясни ... где грабли

Ответить

Номер ответа: 3
Автор ответа:
  Creator



Вопросов: 11
Ответов: 61
 Профиль | | #3 Добавлено: 20.06.03 15:27

Поправочка 1000 >> 4 всёже равно 62

Возможно вот такой алгоритм  a >> b = CByte(a/(2^b))

Ответить

Номер ответа: 4
Автор ответа:
 Chill



ICQ: 554200 

Вопросов: 101
Ответов: 343
 Профиль | | #4 Добавлено: 20.06.03 18:16

Это ОПЕРАЦИИ побитового сдвига. Они работают только для ЦЕЛОЧИСЛЕННЫХ операндов.

Т.е. допускаются только целые числа (1, 2, 3, 4 и т.д.) => они будут сами ОКРУГЛЯТЬСЯ до ЦЕЛОЧИСЛЕННЫХ, это спецификация компилятора Си.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам