27得票9回答
将无符号整数转换为有符号整数 C

我想将65529从unsigned int转换为带符号的int。 我尝试过这样的强制转换:unsigned int x = 65529; int y = (int) x; 但是当它应该返回-7时,y仍然返回65529。为什么会这样?

24得票3回答
JNI:将无符号整数转换为jint

我该如何将unsigned int转换为jint?我需要对其进行转换吗,还是可以直接返回而不需要任何特殊处理?这基本上就是我的当前代码,但由于我尚未在本地设置JNI,因此我无法测试它。JNIEXPORT jint JNICALL Java_test_test(JNIEnv* env, jobj...

23得票7回答
C语言 - 无符号整数转无符号字符数组

我有一个无符号整数(2字节),我想将其转换为无符号字符类型。从我的搜索中,我发现大多数人建议执行以下操作: unsigned int x; ... unsigned char ch = (unsigned char)x; 这种方法正确吗?我问这个问题是因为unsigned char是一个字...

23得票6回答
在C语言中,使用无符号整数来模拟有符号整数

在Jens Gustedt的书《现代C语言》第59页中,他解释了如何使用无符号整数来模拟有符号整数。 他的示例代码展示了如何实现将两个无符号整数重新解释为有符号整数进行比较的方法。 bool is_negative(unsigned a) { unsigned const int_m...

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? 我写这个问答是因为我对两个因素特别不确定。它们都可以通过我的答案中...

21得票3回答
无符号整数溢出

当我溢出unsigned int时,它会包含什么?具体而言,我想使用两个unsigned int进行乘法运算:在乘法完成后,unsigned int中会有什么?unsigned int someint = 253473829*13482018273;

21得票3回答
如何计算32位无符号整数的前导零

请问有什么高效的算法可以在C编程中计算32位无符号整数前导零的数量?

21得票3回答
为什么Kotlin不支持无符号整数?

最近我遇到了这样一种情况,使用无符号整数将非常有用(例如,任何负值都没有意义等)。令人惊讶的是,我发现 Kotlin 不支持无符号整数 - 而且似乎也没有其他关于为什么不支持的信息(尽管我已经搜索过了)。 我错过了什么吗?

21得票5回答
负整数与较大的无符号整数相加会被提升为无符号整数吗?

得到建议阅读 "C++ Primer 5 ed by Stanley B. Lipman" 后,我不理解这个问题: 第66页,“涉及无符号类型的表达式”unsigned u = 10; int i = -42; std::cout << i + i << std::e...