看板 C_and_CPP 關於我們 聯絡資訊
static unsigned int y = 2463534242U; unsigned int xorshift(void) { y ^= (y << 13); y ^= (y >> 17); return y ^= (y << 5); } =========================================== #include "xorshift.h" #include <stdio.h> int main(void) { unsigned int c; int i; for(i=1;i<196;i++){ c = xorshift(); printf("%d,%d\n",i,c); } } =========================================== 請問一下 static unsigned int y = 2463534242U; 那個U是什麼意思? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.137.179 ※ 編輯: chrisjon 來自: 123.195.137.179 (08/13 12:55)
FRAXIS:unsigned 08/13 12:56
chrisjon:那請問一下,如果有加跟沒加u的結果會有什麼差異嗎? 08/13 12:58
TeaEEE:因為超過31bit 不加u的話 有些compiler會給你warning 08/13 13:08
chrisjon:了解!感謝 08/13 13:29