Pytania otagowane jako signed

W informatyce podpisywanie jest właściwością typów danych reprezentujących liczby w programach komputerowych.



15
Podpisane kontra liczby całkowite bez znaku
Czy słusznie mogę powiedzieć, że różnica między liczbą całkowitą ze znakiem i bez znaku jest następująca: Unsigned może zawierać większą wartość dodatnią i brak wartości ujemnej. Unsigned używa bitu wiodącego jako części wartości, podczas gdy wersja podpisana używa bitu najbardziej w lewo, aby określić, czy liczba jest dodatnia czy ujemna. …

6
Dlaczego 0 <-0x80000000?
Mam poniżej prosty program: #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; } Warunek if(bal &lt; INT32_MIN )jest zawsze spełniony. Jak to jest możliwe? Działa dobrze, jeśli zmienię makro na: #define INT32_MIN …


11
~ x + ~ y == ~ (x + y) jest zawsze fałszywe?
Czy ten kod zawsze daje wynik fałszywy? Obie zmienne są liczbami int ze znakiem uzupełnienia do dwóch. ~x + ~y == ~(x + y) Wydaje mi się, że powinna istnieć liczba spełniająca warunki. Próbowałem sprawdzić liczby pomiędzy -5000i, 5000ale nigdy nie osiągnąłem równości. Czy istnieje sposób na utworzenie równania, aby …

8
C ++ konwertuje ciąg szesnastkowy na liczbę całkowitą ze znakiem
Chcę przekonwertować ciąg szesnastkowy na 32-bitową liczbę całkowitą ze znakiem w C ++. Na przykład mam ciąg szesnastkowy „fffefffe”. Binarna reprezentacja tego to 11111111111111101111111111111110. Reprezentacja liczb całkowitych ze znakiem to: -65538. Jak wykonać tę konwersję w C ++? To również musi działać dla liczb nieujemnych. Na przykład ciąg szesnastkowy „0000000A”, …
135 c++  integer  hex  signed 


2
Dlaczego w C ++ 20 wprowadzono std :: ssize ()?
C ++ 20 wprowadził std::ssize()bezpłatną funkcję, jak poniżej: 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;; Wydaje się static_cast, że możliwa implementacja polega na przekształceniu wartości zwracanej size()funkcji składowej klasy C na jej podpisany odpowiednik. Ponieważ size()funkcja składowa C zawsze zwraca wartości nieujemne, dlaczego ktoś miałby chcieć …
99 c++  stl  unsigned  signed  c++20 

5
Porównania podpisane / niepodpisane
Próbuję zrozumieć, dlaczego poniższy kod nie generuje ostrzeżenia we wskazanym miejscu. //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 unsigned …

12
Wykrywanie podpisanego przepełnienia w C / C ++
Na pierwszy rzut oka to pytanie może wydawać się duplikatem pytania Jak wykryć przepełnienie liczb całkowitych? jednak w rzeczywistości jest znacząco inny. Odkryłam, że podczas wykrywania przepełnienia całkowitą bez znaku jest dość trywialne, wykrywanie podpisane przepełnienie w C / C ++ jest rzeczywiście trudniejsze, niż sądzi większość ludzi. Najbardziej oczywistym, …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.