k是int型常量,int=signed long (有符號長整型),就是有正負之分。int的範圍是 -(2^31)-1 ~ (2^31)-1%u是unsigned,無符號,就是沒有正負之分,只有正數,負數也當作正數處理。這裡的範圍是一個環狀的,-1的無符號型並不是1,而是2^32-1,其原因:首先,unsigend int範圍是0~(2^32)-1有符號時:—————————————— …… -1 0 ……無符號時:—————————————— 0 1 2 ………… | | 4294967294 4294967295(==-1) 也就是說,-1原先在0的左邊,在整形負數中最靠近0,但是一旦負號不存在,-1就被丟到了後面,-1的unsigned值自然是unsigned int的最大值4294967295。再有,-3的unsigned型是:4294967293.這裡的範圍是環形的概念還要你自己揣摩、分析。如若還是看不懂,我建議你問你的老師或是同學,不要抹不開面,搞學術的,就要有喜歡問的習慣。遇到不懂的一定要問明白,不可忽視。
k是int型常量,int=signed long (有符號長整型),就是有正負之分。int的範圍是 -(2^31)-1 ~ (2^31)-1%u是unsigned,無符號,就是沒有正負之分,只有正數,負數也當作正數處理。這裡的範圍是一個環狀的,-1的無符號型並不是1,而是2^32-1,其原因:首先,unsigend int範圍是0~(2^32)-1有符號時:—————————————— …… -1 0 ……無符號時:—————————————— 0 1 2 ………… | | 4294967294 4294967295(==-1) 也就是說,-1原先在0的左邊,在整形負數中最靠近0,但是一旦負號不存在,-1就被丟到了後面,-1的unsigned值自然是unsigned int的最大值4294967295。再有,-3的unsigned型是:4294967293.這裡的範圍是環形的概念還要你自己揣摩、分析。如若還是看不懂,我建議你問你的老師或是同學,不要抹不開面,搞學術的,就要有喜歡問的習慣。遇到不懂的一定要問明白,不可忽視。