Вопросы с тегом «signed»


17
Итерация по std :: vector: unsigned vs знаковая переменная со знаком
Как правильно перебирать вектор в C ++? Рассмотрим эти два фрагмента кода, этот работает нормально: for (unsigned i=0; i < polygon.size(); i++) { sum += polygon[i]; } и этот: for (int i=0; i < polygon.size(); i++) { sum += polygon[i]; } который генерирует warning: comparison between signed and unsigned integer …
470 c++  stl  unsigned  signed 

15
Подписанные и неподписанные целые числа
Правильно ли я сказать, что разница между целым числом со знаком и без знака такова: Без знака может иметь большее положительное значение, а не отрицательное значение. Неподписанный использует начальный бит как часть значения, в то время как подписанная версия использует самый левый бит, чтобы определить, является ли число положительным или …

6
Почему 0 <-0x80000000?
У меня ниже простая программа: #include &lt;stdio.h&gt; #define INT32_MIN (-0x80000000) int main(void) { long long bal = 0; if(bal &lt; INT32_MIN ) { printf("Failed!!!"); } else { printf("Success!!!"); } return 0; } Условие if(bal &lt; INT32_MIN )всегда верно. Как это возможно? Он отлично работает, если я изменю макрос на: #define …

7
Чар подписан или не подписан по умолчанию?
В книге «Полная справка о С» упоминается, что char по умолчанию она не подписана. Но я пытаюсь проверить это с помощью GCC, а также Visual Studio. Это принимает как подписано по умолчанию. Который правильный?
158 c  types  char  signed 

11
~ x + ~ y == ~ (x + y) всегда ложно?
Этот код всегда оценивается как ложный? Обе переменные являются двумя знаковыми дополнениями. ~x + ~y == ~(x + y) Я чувствую, что должно быть какое-то число, которое удовлетворяет условиям. Я пытался проверить числа между, но так -5000и 5000не достиг равенства. Есть ли способ установить уравнение, чтобы найти решение для условия? …

8
C ++ преобразовать шестнадцатеричную строку в целое число со знаком
Я хочу преобразовать шестнадцатеричную строку в 32-битное целое число со знаком в C ++. Так, например, у меня есть шестнадцатеричная строка "fffefffe". Двоичное представление этого является 11111111111111101111111111111110. Целочисленное представление со знаком этого: -65538. Как мне сделать это преобразование в C ++? Это также должно работать для неотрицательных чисел. Например, шестнадцатеричная …
135 c++  integer  hex  signed 


2
Почему std :: ssize () введен в C ++ 20?
C ++ 20 представил std::ssize()бесплатную функцию, как показано ниже: template &lt;class C&gt; constexpr auto ssize(const C&amp; c) -&gt; std::common_type_t&lt;std::ptrdiff_t, std::make_signed_t&lt;decltype(c.size())&gt;&gt;; Возможная реализация, похоже, использует static_castдля преобразования возвращаемого значения функции- size()члена cl ass C в ее подписанный аналог. Поскольку size()функция-член C всегда возвращает неотрицательные значения, зачем кому-то хранить их в переменных …
100 c++  stl  unsigned  signed  c++20 

5
Подписанные / беззнаковые сравнения
Я пытаюсь понять, почему следующий код не выдает предупреждение в указанном месте. //from limits.h #define UINT_MAX 0xffffffff /* maximum unsigned int value */ #define INT_MAX 2147483647 /* maximum (signed) int value */ /* = 0x7fffffff */ int a = INT_MAX; //_int64 a = INT_MAX; // makes all warnings go away …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.