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回答

    將兩個無符號數相乘乘以兩個帶符號數的乘法結果之間的差值是多少? 除兩個有符號數與除以兩個無符號數之間的餘數和商之間的區別是什麼?