Tag: 整数

使用scanf()输入validation

我有一个程序接受用户的整数,并在加法操作中使用该数字。 我用来接受这个号码的代码是这样的: scanf(“%d”, &num); 如何validation输入,以便用户输入带小数点的字母或数字时,屏幕上会显示错误消息?

如何计算(a次b)除以c仅使用32位整数类型,即使b次不适合这种类型

请考虑以下内容作为参考实现: /* calculates (a * b) / c */ uint32_t muldiv(uint32_t a, uint32_t b, uint32_t c) { uint64_t x = a; x = x * b; x = x / c; return x; } 我感兴趣的是一个不需要64位整数类型的实现(在C或伪代码中)。 我开始草拟一个如下概述的实现: /* calculates (a * b) / c */ uint32_t muldiv(uint32_t a, uint32_t b, uint32_t c) { uint32_t d1, d2, […]

整数的位反转,忽略整数大小和字节顺序

给定一个整数typedef: typedef unsigned int TYPE; 要么 typedef unsigned long TYPE; 我有以下代码来反转整数的位: TYPE max_bit= (TYPE)-1; void reverse_int_setup() { TYPE bits= (TYPE)max_bit; while (bits <>= 1, bit_setter<<= 1) if (arg & bit_tester) result|= bit_setter; return result; } 首先需要运行reverse_int_setup(),它存储一个打开最高位的整数,然后对reverse_int( arg )的任何调用返回arg ,其位反转(用作二叉树的一个键,取自一个增加反击,但这或多或少无关紧要)。 在调用reverse_int_setup()之后,是否存在一种与平台无关的方法在编译时为max_int提供正确的值; 否则,是否有一个算法比你对reverse_int() 更好/更精简 ? 谢谢。

我可以比较一个浮点数并将其添加到C中的整数吗?

我可以将浮点数与整数进行比较吗? 浮点数会与代码中的整数相比吗? float f; // f has a saved predetermined floating-point value to it if (f >=100){__asm__reset…etc} 我还能…… float f; int x = 100; x+=f; 我必须使用从姿态参考系统接收的浮点值f来调整控制PWM信号以校正姿态的位置值x 。

为什么我们将INT_MIN定义为-INT_MAX – 1?

AFAIK这是一个标准的“习语” # define INT_MIN (-INT_MAX – 1) # define INT_MAX 2147483647 问题:为什么INT_MIN的定义不是-2147483648?

不同体系结构中C的int大小

我知道C语言的规范并没有规定每个整数类型的确切大小(例如, int )。 我想知道的是:C(不是C ++)中是否有一种方法来定义具有特定大小的整数类型,以确保它在不同的体系结构中是相同的? 喜欢: typedef int8 typedef int16 或者任何其他允许程序的其他部分在不同体系结构上编译的方式。

如何检查整数的二进制表示是否是回文?

如何检查整数的二进制表示是否是回文?

c / c ++中unsigned long / long / int之间有什么区别?

似乎所有这些都占用了4个字节的空间, 那有什么区别?

C整数除法和楼层

在C中,整数除法a / b和floor(a / b)之间是否有区别,其中a和b都是整数? 更具体地说,在两个过程中发生了什

为什么在g ++中std :: intmax_t不是__int128_t?

我的问题很简单:因为std::intmax_t被定义为根据cppreference的maximum width integer type ,为什么它不对应于GCC中的__int128_t ?