unsigned-integer

    3热度

    4回答

    我想在C++中编写一个函数,它使用两个64位无符号整数并返回它们在有符号64位整数中的差异。这似乎有点复杂,因为溢出情况 - 由于输入是两个无符号正整数,如果这两者之间的绝对差值大于最大有符号值(INT64_MAX),则差值不能通过有符号整数传输。所以我写了下面的实现,我想知道,首先,如果这在功能上是正确的,其次,是否有更简单的实现。任何建议将不胜感激。谢谢! (我会用一个异常来代替断言,它只是在

    1热度

    1回答

    我试图在C中用PHP编写以下函数。问题是,用PHP编写的函数返回的结果与C中返回的结果不同。 我认为问题来自PHP中的整数溢出,它无法将变量当作无符号32位整数。 我试图用0xFFFFFFFF没有成功,并掩盖所有操作。你有其他解决方案可以工作吗? C函数: void decipher(const uint32_t num_rounds, uint32_t v[2], const uint32_t

    0热度

    2回答

    我试图改变使用无符号整型(0xFF998877等...)的形式0xAABBGGRR其中A是阿尔法和B,G和R是蓝色,绿色和红色的着色。 但是我想知道最好的方法是改变我传入的颜色,使其慢慢变暗或变浅。 由于我没有很多这样使用unsigned int的经验,所以我的解决方案只是将值减1,但这有奇怪的结果。有没有一种很好的方法来改变RGB元素并保持Alpha恒定?在我的研究中,我确实发现可以将其他未签名

    1热度

    4回答

    我在这里试图将4位hexa转换为dec但未成功。 这是我的代码。 unsigned int array[4]; printf("Type in 4-digit hexa: \n"); scanf("%x", &array); while(getchar() != '\n'); printf("Your number in dec is %u \n", array);

    8热度

    4回答

    我对C++中使用无符号整数而不是有符号整数的循环进行了反转的Stackoverflow做了一些研究。但我仍然不明白为什么会出现问题(请参阅Unsigned int reverse iteration with for loops)。为什么下面的代码会产生分段错误? #include <vector> #include <iostream> using namespace std; int

    0热度

    4回答

    我有一个20-30行的C++函数,它正在参考int进行更新。现在我更换了传递给它封装更多的数据成员的成员的成员,是这样的: searchState.matchedOK = specificSearch(*pageIndices.GetStringIByRef(), searchState); //new, and overwritten. searchState.matchedOK = spec

    8热度

    3回答

    我有一个字节[4],其中包含一个32位无符号整数(以大端顺序),我需要将其转换为长(如int可以没有签名的号码)。 此外,我怎么做反之亦然(即从long包含一个32位无符号整数字节[4])?

    5热度

    4回答

    当我尝试使用启用了警告级别/ W4的Visual Studio 2010 C++编译器(X86)编译以下C++程序时,出现签名/未签名不匹配警告标记线。 #include <cstdio> #include <cstdint> #include <cstddef> int main(int argc, char **argv) { size_t idx = 42; u

    5热度

    3回答

    如问题标题所示,将2^31分配给有符号和无符号的32位整数变量会给出意想不到的结果。 下面是短程序(C++),这是我做,看看发生了什么事情: #include <cstdio> using namespace std; int main() { unsigned long long n = 1<<31; long long n2 = 1<<31; // this wor

    1热度

    3回答

    几个星期前,我是用了第一次(我不习惯使用它们)漂浮,双打,我有比较操作数的一些问题。我在尝试为这种类型赋值时也遇到了问题,但我也解决了这个问题... 今天,我在C++中创建了一个库,并且发现了一个错误... ......奇怪?或者只是我愚蠢的想法? 这是代码: ini::ini(const char * path, bool _autoflush_ /*= false*/) { /* Stori