unsigned

    2热度

    2回答

    我真的很新的C和我试图运行下面的代码在C: #include <stdio.h> int main() { unsigned long i = 1UL << 2; int j = (i==4); printf('%d', j); return 0; } 但它给人的错误: prog.c: In function 'main': prog.c:6:1

    3热度

    2回答

    strlen返回的是size_t,即long unsigned int。 为什么编译下面的代码不会发出关于slen的签名的警告? char msg[] = "Hello"; int slen= strlen(msg); (我预计long unsigned int slen也有必要避免这样的警告。)

    0热度

    1回答

    我有问题,使这个简单的查询工作: INSERT INTO stock (articles_id, date, in, out) VALUES (106, '2017-08-24', 0, 4) ON DUPLICATE KEY UPDATE out = IF(out - 4 >= 0, out - 4, 0) 这是库存表的结构: CREATE TABLE IF NOT EXISTS `

    0热度

    1回答

    所以我有4个uint16_t's,我试图将它们存储在单个uint64_t中。我想我有这个工作。 uint64_t encode(int16_t A, int16_t B, int16_t C, int16_t D){ return (uint64_t)((uint16_t) A) << 48 | (uint64_t)((uint16_t) B) << 32 | (

    -2热度

    2回答

    我有代码为int转换成一个无符号的char *这样: int i = //a number <= 15; unsigned char * byte = (unsigned char *) &i; 我这样做,因为我需要的是整型字节值。 后来我想把这个字节值附加到char *,所以我需要将它转换为一个字符串。 Ex. if: int i = 15; then: unsigned char *

    -1热度

    1回答

    如果我有这个unsigned long x(4字节),我怎样才能将x的每个字节转换为其十六进制数并将所有字节存储在数组中: unsigned char[4]? UPDATE 基于然后sugestions我,我曾尝试这两种解决方案: 溶液1: unsigned char hex_str[9]; snprintf(hex_str, sizeof(hex_str), "%lX", target

    -2热度

    1回答

    我知道当我们比较带符号和无符号时,编译器将我们的带符号值转换为无符号值,当我们比较short和int时,编译器将较小类型转换为较大类型。但是我编写了这段代码来检查我们是否比较了一个带符号的int x = 0xdeadbeef和unsigned short y = 0xffff,然后在将unsigned short转换为int之后,我们应该在y的比较处应该有0x0000ffff,它应该小于x的无符号

    2热度

    2回答

    在我的程序中,我必须对无符号整数执行算术运算。 变量a具有从0到32 的范围为0〜4294967295 变量b具有范围当我通过取maximun值用于检查边界条件和b,我得到0作为答案,因为溢出发生在我试图乘以a和MAX_NS。理想情况下,我应该得到7作为答案。如何编写程序,使溢出是照顾和我得到7作为答案,并希望它适用于其他有效值范围为a和b.Thanks。 #include "stdio.h"

    -3热度

    1回答

    我用C语言进行模运算有问题。 我已经定义了全局变量uint16_t Tmr_1ms,它是每1毫秒递增 。我想用这个变量 这是考虑功能 void OSC(uint32_t output, Osc_t *p){ float act_time; if(p->start){ taskENTER_CRITICAL(); act_time = Tmr_1ms

    0热度

    2回答

    将两个无符号数相乘乘以两个带符号数的乘法结果之间的差值是多少? 除两个有符号数与除以两个无符号数之间的余数和商之间的区别是什么?