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

numeric_limits и int8_t - C++

Восстановить пароль Регистрация
 
i8086
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 9
11.07.2013, 17:58     numeric_limits и int8_t #1
Eсли скомпилировать и запустить
C++
1
2
3
4
    auto max = numeric_limits<int8_t>::max();
    cout << max << endl << sizeof(max) << endl;
    std::bitset<8> x(max);
    std::cout << x;
То получаю вывод:
Bash
1
2
3
_кракозябра_
1
01111111
Eсли
C++
1
auto заменить на int
то вывод ожидаемый:
Bash
1
2
3
127
4
01111111
Максимальное значение int8_t не влазит в int8_t? О_о
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2013, 17:58     numeric_limits и int8_t
Посмотрите здесь:

numeric_limits<unsigned int>::digits C++
C++ error: 'numeric_limits' is not a member of 'std'
C++ C:\tsserver\Projects\cpp\codeblocks\MyComp\compiler\mmz\TArr ay.hpp|140|error: 'numeric_limits' is not a member of 'std'|
C++ windows.h + cin.ignore(numeric_limits<streamsize>::max(), '\n');
Не компилирует max в cin.ignore(numeric_limits<streamsize>::max(),'\n') C++
Массив int8_t или NSData? Objective-C

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
11.07.2013, 18:16     numeric_limits и int8_t #2
i8086, Нет, просто идет преобразование в char, дико подозреваю, что это потому, что int8_t typedef на char в данной конкретной реализации компилятора. Собственно, чтобы вывести можно кастануть к short/int

C++
1
std::cout << static_cast<short>(max) << std::endl;
i8086
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 9
11.07.2013, 18:24  [ТС]     numeric_limits и int8_t #3
Ага, в stdint.h
C++
1
typedef unsigned char         uint8_t;
Yandex
Объявления
11.07.2013, 18:24     numeric_limits и int8_t
Ответ Создать тему
Опции темы

Текущее время: 01:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru