151得票5回答
有符号整数和无符号整数的区别是什么?

有符号整数(signed int)和无符号整数(unsigned int)之间有什么区别?

98得票6回答
为什么给位域赋值后返回的值不同?

我在这篇Quora帖子中看到了以下代码:#include <stdio.h> struct mystruct { int enabled:1; }; int main() { struct mystruct s; s.enabled = 1; if(s.enabled...

58得票5回答
intptr_t的作用是什么?

我知道它是一种整数类型,可以在指针与整数之间进行无损转换,但我为什么要这样做呢?使用整数类型相比于用void*来保存指针和THE_REAL_TYPE*来进行指针运算,有什么优势吗? 编辑 已经标记为“已有答案”的问题没有解答。那里的问题是是否将intptr_t用作替代void*的通用方法是个好...

42得票5回答
在C语言中,unsigned int和signed int有什么区别?

考虑以下定义:int x=5; int y=-5; unsigned int z=5; 它们在内存中是如何存储的?有人可以解释一下它们在内存中的位表示吗? int x=5和int y=-5在内存中是否可以具有相同的位表示?

22得票4回答
位运算符和整数提升有什么关系?

我有一个简单的程序。请注意,我使用的是一个大小为1字节的无符号定宽整数。#include <cstdint> #include <iostream> #include <limits> int main() { uint8_t x = 12; ...

22得票2回答
将一个下溢并且无符号的整数与-1进行比较是否有明确定义?

请考虑以下内容†:size_t r = 0; r--; const bool result = (r == -1); 比较结果初始化result的行为是否有明确定义?它的结果是否如我所期望的那样是true? 我写这个问答是因为我对两个因素特别不确定。它们都可以通过我的答案中...

17得票5回答
C中整数的快速符号

C语言中有一个符号函数: int sign(int x) { if(x > 0) return 1; if(x < 0) return -1; return 0; } 很遗憾,比较成本非常高,因此我需要修改函数以减少比较次数。 我尝试了以下内容: ...

8得票1回答
有符号除法(idiv)指令是什么?

在Intel指令集中,idiv(整数除法)表示有符号除法。 我得到了idiv的结果,但是对结果不太理解。 - 例子 0xffff0000 idiv 0xffff1100 - 我的错误预测 据我所知,商应该是0,余数应该是0xffff0000,因为... 0xffff0000 / ...

8得票2回答
如何在C语言中实现算术右移

许多信号处理中的无损算法需要评估形式为 ⌊ a / 2b ⌋ 的表达式,其中 a、b 是有符号整数(a 可能为负数,b 为非负数),⌊·⌋ 表示向下取整函数。这通常导致以下实现。 int floor_div_pow2(int numerator, int log2_denominator) ...