#include <stdio.h>
int main(int argc,char **argv)
{
printf( "%d---%d\r\n",(char)0X80,0X7F);
printf( "%d---%d\r\n",(char)0XFF,0X7F);
printf( "%d---%d\r\n",0XFF,0X7F);
}
//知识1--%d 输出有符号的整型 所以0X7F 都是127 0XFF是255
//知识2--有符号的数 最高字节是符号char就是有符号的
//0X80---1000 0000那么它是负数 它是0111 1111 在+1 在加负号
//0XFF---1111 1111那么它是负数 它是0000 0000 在+1 在加负号
原文:https://mp.weixin.qq.com/s/21e1s3v05zW7Jv1uUMunpw
计划用:
#define time_after(a,b) \
(typecheck(unsigned long, a) && \
typecheck(unsigned long, b) && \
((unsigned long)(b) - (unsigned long)(a) < 0))
//jiffies = 18446744073709550615
timeout = 2*HZ;
timeout += jiffies;
//do something
if(time_after(jiffies,timeout)){
//这时候,jiffies 已经回绕为 0,timeout还是一个很大的值,这时候就会出现问题了,jiffies需要重新计数很久很久才可能再回到和timeout比较的一个量级。
//do something
}
替换延时