Текущий архив: 2004.10.24;
Скачать: CL | DM;
ВнизНе выполняется операция Найти похожие ветки
← →
saNat © (2004-10-07 03:18) [0]Продолжая тему поразрядного сдвига...
Почему то не выполняется инструкция самого сдвига:
int Buffer=76;
Buffer>>1;
ShowMessage(Buffer);
Хотя в книге написано следующее:
"...Поразрядные логические операции работают с целыми числами и оперируют с их двоичными представлениями, т.е. работают с двоичными разрядами операндов..." и "...Операция поразрядного сдвига вправо (Y >> 1) сдвигает биты левого операнда на число разрядов, указанное правым операндом. При этом правые биты теряются...
Что делать?
С уважением...
← →
saNat © (2004-10-07 03:23) [1]Я ведь прав что в данном случае...
Исходное значение: 76=>01001100
Сдвиг вправо: 00100110=>38
...Должно быть выведено "38"?
С уважением...
← →
jack128 © (2004-10-07 03:25) [2]Buffer = Buffer>>1; ??
← →
default © (2004-10-07 03:31) [3]блин на паскале бы сначала научился...сразу видно что и в паскале с бит-ыми операциями никак
есть же книжки с картинками
← →
080D:07BBh © (2004-10-07 07:18) [4]saNat
ну и выводит
код такой проверки делал /*BC 4.5*/
#include <stdio.h>
#include <conio.h>
main(){
int buf = 76;
printf("buf = %d",buf>>1);
getch();
return 0;
}
← →
saNat © (2004-10-07 07:33) [5]Я делал в C+++ Builder 6.0
← →
Igorek © (2004-10-07 10:42) [6]
> saNat © (07.10.04 07:33) [5]
> Я делал в C+++ Builder 6.0
Чо за зверь?
← →
TUser © (2004-10-07 10:44) [7]
> Чо за зверь?
Есть такой. Типа delphi, только си.
← →
reticon © (2004-10-07 11:05) [8]есть си приплюснутый, а есть си триплюснутый
← →
saNat © (2004-10-07 12:06) [9]Ну обшибся я плюсом...
Проект пишется в С++ Builder 6
Даже в пошаговой отладке строкаBuffer>>1;
просто "перескакивается"
← →
saNat © (2004-10-07 20:44) [10]jack128 © (07.10.04 03:25) [2]
Спасибо, так работает. Просто в книге пример, на мой взгляд, неудачный:Y >> 1
. Потому и тупил...
С уважением...
Страницы: 1 вся ветка
Текущий архив: 2004.10.24;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.033 c