![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#1
|
|
Надо объявить 64-разрядную без знаковую целочисленную переменную.
В программе объявляю typedef unsigned long long BITBOARD. Переменная типа BITBOARD получается равна 8 байт (вычислял с помощью функции sizeof). Изначально переменной типа BITBOARD присваиваю значение "1". Применяю сдвиговую операцию "<<32" и результат получается равным "0". Как такое может быть? Мне нужна 8 байтовая без знаковая целочисленная переменная, а не огрызок (4 байта). Для 64-разрядной переменной сдвигаться должно до 63 ("<<63") включительно и результат должен быть не "0". P.S. Компилирую программу на gcc. Может опции при компиляции надо задавать особенные? |
|
|
|
|
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Объявление массива типа запись | Dr Evil | Delphi | 3 | 26.03.2009 11:05 |
| Проблема с передачей переменной в PHP скрипт | fosgen29 | PHP | 4 | 18.11.2008 13:45 |
| Работают ли 32-х разрядные программы на 64-х разрядной винде ХР | Leha_Com | Windows XP | 8 | 25.09.2008 08:48 |
|
|