Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
lips
2 / 2 / 0
Регистрация: 03.01.2012
Сообщений: 287
#1

Не учитывать знаковый бит - C++

10.01.2014, 18:11. Просмотров 229. Ответов 3
Метки нет (Все метки)

можно ли сделать чтобы вот это условие выполнилось?
C++
1
2
int a = -5;
if((a|0x0FFFFFFFFFFFFFFF)==5)
ну то что сейчас в условии глупость наверное, но если можно как то исправить подскажите как пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2014, 18:11     Не учитывать знаковый бит
Посмотрите здесь:

Перевод байта в знаковый формат - C++
Доброго времени суток. Столкнулся с проблемой. Есть переменная unsigned char, в ней лежит байт. Этот байт нужно перевести в знаковый...

без знаковый double. Если ли чтоб можно было в шаблон пихать или самому сделать придется ? - C++
сабжж

Не учитывать регистр - C++
Надо чтобы программа считала текст из файла и подсчитала сколько раз встречаются разные буквы не учитывая регистра, т.е А=а б=Б. Я понимаю...

Не учитывать перевод строки в регулярном выражении - C++
В PHP например есть модификатор "s" пример: "$regex = "/<html>.*</html>/s"; Если данный модификатор используется, метасимвол "точка"...

Депозитный калькулятор - как учитывать високосные года? - C++
Доброго времени суток! Хочу написать программу "Депозитный калькулятор". Вроде, всё сделал, но вышла проблема с высокосными годами. т.е....

Как учитывать пробелы при считывании строки в консоли? - C++
#include <iostream> #include <clocale> #include <windows.h> using namespace std; int main() { setlocale( LC_ALL, ".866"...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13063 / 7326 / 817
Регистрация: 27.09.2012
Сообщений: 18,085
Записей в блоге: 3
Завершенные тесты: 1
10.01.2014, 18:17     Не учитывать знаковый бит #2
abs(a) == 5 ?
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,013
10.01.2014, 18:17     Не учитывать знаковый бит #3
Допустим, нужно написать свою функцию получения модуля с использованием битовых операций...

Тут надо вспомнить, что отрицательные числа хранятся в дополнительном коде, поэтому просто так откинуть знаковый бит для получения модуля нельзя.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
int my_abs(int x)
{
    int y = (x >> 31);
    return (x ^ y) - y;
}
 
int main()
{
    int a = -5;
    if (my_abs(a) == 5)
    {
        std::cout << "true" << std::endl;
    }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2014, 18:30     Не учитывать знаковый бит
Еще ссылки по теме:

Дата не високосного года (31 декабря не учитывать). Вывести дату завтрашнего дня - C++
Заданы: дата не високосного года (31 декабря не учитывать). Вывести дату завтрашнего дня.

CUDA: Как учитывать ограничение в памяти видухи? Дайте совет по идеологии вычислений! - C++
Вопрос 1: Опишу простую задачу и способ ее решения. Я мануал конечно читал, но мне нужен совет по реализации вычислений на CUDA....

Инверсия бит - C++
Добрый день. Есть unsigned short int x; Нужно инверсировать все биты в x, например, если x=1001001101 (589), то нужно чтобы...

Старший бит - C++
Допустим число 4 представляю в двоичной системе счисления получается 0100. В етом двоичном числе старший бит ет 3 бит?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,250
Записей в блоге: 1
Завершенные тесты: 1
10.01.2014, 18:30     Не учитывать знаковый бит #4
Цитата Сообщение от 0x10 Посмотреть сообщение
C++
1
int y = (x >> 31);
дотошность конечно, но лучше б к sizeof(int) привязаться.
Yandex
Объявления
10.01.2014, 18:30     Не учитывать знаковый бит
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru