signed相关内容
这是一个代码 - 1 int main(int argc,char * argv []) 2 { 3 signed char S,* psc; 4 unsigned char U,* pusc; 5 char C,* pc; 6 7 C = S; 8 C = U; 9 10 pc = psc; 11 pc = pusc; 12 13 return
..
在C ++中迭代一个向量的正确方法是什么? 考虑这两个代码片段,这个工作很好: for(unsigned i = 0; i sum + = polygon [i] } ,这一个: for(int i = 0; i
..
我想了解为什么以下代码不会在指定的地方发出警告。 // from limits.h #define UINT_MAX 0xffffffff / * maximum unsigned int value * / #define INT_MAX 2147483647 / * maximum(signed)int value * / / * = 0x7fffffff * /
..
我想将十六进制字符串转换为C ++中的32位有符号整数。 因此,例如,我有十六进制字符串“fffefffe”。其二进制表示为11111111111111101111111111111110.其有符号整数表示为:-65538。 如何在C ++中进行这种转换?这也需要为非负数工作。例如,十六进制字符串“0000000A”,即二进制中的0000000000000000000000000000
..
我知道 INT 和长(32位和64位数字),但什么是 UINT 和 ULONG ? 解决方案 与“U”是无符号的版本,相同的位大小前缀的基本数据类型。有效地,这意味着它们不能存储负数,但在另一方面,它们可以大如他们的签名的对应的两倍存储正数。该签署的同行不具备“U”为前缀 对于int(32位)的限制是: INT:-2147483648到2147483647 UINT:0至
..
有关重新presenting的长度或计数变量,是它更好地使用签署或无符号的整数? 在我看来,那C ++ STL趋于preFER的符号的(的std ::为size_t ,像ICollection.Count 。 考虑到的长度或计数都是非负整数,我的直觉会选择的符号的;但我不明白为什么.NET设计师选择符号整数。 什么是最好的方法呢?什么是每个人的优点和缺点是什么? 因为他们需要全方位的解
..
在内核:我读的时间价值类型的extern S64延迟; 在用户空间: 的extern双延迟; // FP读的是核心价值(即延迟) 的fscanf(FP,“%LF”,延迟); 如果我读内核S64在用户空间的两倍。有数据丢失的可能性? 该数据类型,我应该用它来获得完整的价值?? 解决方案 简短的回答:是的,肯定会有数据丢失 想想看,无论是有符号的64位整数( S64 )和双击具有存储64
..
在Python的终端时,我做的: - 在[6]:0xffffff85 出[6]:4294967173在[9]:“%d个”%(0xffffff85) 出[9]:'4294967173' 我希望能在 0xffffff85 给和蟒蛇获得相当于签订十进制数(在这种情况下, -123 )。我怎么能这样做呢? 在C,我能做到这一点的: - INT的main(){INT X = 0xffffff85;
..
我的默认字符类型是“无符号的字符”作为在海湾合作委员会选项(-funsigned-CHAR GCC)的设置。所以,可以说,当我需要“无符号的字符”,在code,我可以使用“字符”。但我得到了(字符*)和(无符号字符*或符号字符*)之间的转换警告: “的错误:在通过”测试2“的参数1指向目标符号不一致”。 我如何才能避免警告当我通过无符号字符*变量为char *(知道我syetem具有默认的无符
..
我想知道的最大值我的 time_t的可容纳是,所以我写了一个小程序,帮助我。它需要一个参数:字节数(1字节= 8位)。所以我写了它,并对其进行了测试。它顺利通过所有值从1直到4,但在5日和更高它也编辑“签署”位(我不知道它是如何称呼)。有人可以解释: 的#include<&stdio.h中GT;INT主(INT ARGC,为const char **的argv){ 如果(的argc
..
其实我有(可能是)一个“简单”的问题。所以我不知道如何转换为一个无符号整数有符号整数。 我的code: 符号整数项= 0; 的printf(“十进制数:”); scanf函数(“%d个”,&安培;输入); unsigned int类型uEntry =(无符号整数)进入; 的printf(“无符号数:%d \\ n”,uEntry); 如果我无符号值发送到控制台(见我最后code线),我总是
..
这code,我看有很多,我看到这样的事情发生的地方:结果 的char *使用functionName(字符* passedVariable) { 无符号字符* newVariable =(字符*)passedVariable; 这是为什么正在做?我总是尽量在使用符号/无符号一致的,因为我知道,这两者之间的切换可能会造成问题,但是这似乎开发商并没有在意。 解决方案 更改指针类型是不
..
我想一个字符串转换为符号整数。以下是对要求。我已存储的十六进制值作为缓冲字符串。现在我想的值转换成有符号整数。 BUF =“fb869e”转换为符号整型这一点。所以,O / P应-293218。但是当我试图采用strtol我越来越转换16483998.所以我我该怎么办? 解决方案 十六进制数 0xfb869e 是不会负。内置的数字转换功能将不会将其转换为负值,因为它的值是正的。 你所说
..
在的(字符)左移0xFF的8和铸造它诠释我们得到-256或0xffffff00。 有人可以解释为什么发生这种情况? 的#include<&stdio.h中GT; INT主要(无效) { 焦C = 0xFF的; 输出(“%d个%×\\ N”,(int)的(℃下;&下; 8),(INT)(℃下;&下; 8)); 返回0; } 输出为 -256 FFFFFF00
..
的#include<&stdio.h中GT;INT ARR [] = {1,2,3,4,5}; 的#define SIZE(的sizeof(ARR)/的sizeof(INT))诠释的main() { 的printf(“SIZE =%d个\\ N”,SIZE); 如果((-1)LT; SIZE) 的printf(“少”);
..
我想从主机字节顺序到网络字节顺序,反之亦然转换 int32_t 。我知道关于 htonl()函数及其变种,但是这需要无符号整数。有没有一个标准库函数,可以做同样的符号整数或做我要实现它自己?如果我要实现它自己,我应该怎么办呢? 我希望找到一个例程将在Linux和Mac OS X上运行。 解决方案 没关系。 htonl关注的是字节,而不是用数字的算术值。使用reinter pret_cas
..
为枚举类型符号或无符号?是枚举的符号性用C不同/ C99 / ANSI C / C ++ / C ++ X / GNU C / GNU C99? 感谢 解决方案 这是枚举是保证再一个整数psented $ P $,但实际类型(以及它的符号性)是实现相关的。 您可以通过给统计员的一个负值强制枚举是由符号类型psented重新$ P $: 枚举SignedEnum {a = -1};
..
此相关的问题是如何确定在编译时有符号类型的最大值:
..
我想要做的32位有符号乘法,而无需使用64位数据类型。我的输入是在Q1.31(两者)格式。 输入1 = A32(阿AL) - A32的高,下半部分的输入2 = B32(BH BL) - 高,B32的下半部分的 结果应该是Q1.31格式,离开溢出情况 我需要C code代表以上。请提供格式也解释。 解决方案 签名Q1.31格式能够-1,几乎+1之间重新presenting操作数的全小
..
根据C / C ++标准(见链接),该> >运营商C和C ++不一定是有符号数的算术移位。它是由编译器执行0的(逻辑)或符号位(算术)是否被移位在作为比特被移位到右边。 这会不会code函数在编译时刻发出(失败)为落实符号整数逻辑右移编译器? 的#define COMPILE_TIME_ASSERT(EXP)\\ 的typedef INT CompileTimeAssertType #
..