unsigned int又可简写为unsigned
在计算机内部,所有数据都是以二进制方式存储的。以字节为单位,每个字节由
八个位组成,每个位只有0和1两种取值。
对于有符号型整数,负数的表示为其相反数的反码(就是对于每一位,原先是
0的,就改为1;原先是1的,就改为0)然后最低位加1,这样的表示法称
为补码。
对于多字节整数,还存在字节序的问题。对于不与网络数据进行交互的程序来
说,无须考虑这个问题。但如果要与网络数据进行交互,这个问题就非考虑不
可。
网络字节序是固定的,但本机字节序可能与网络字节序相反。所以与网络数据进
行交互时,需要用库函数的htonl、ntohl、htons、ntohs等函数进行转换。
x86的主机都是小端字节序,而网络字节序是大端字节序,所以要转换
因为通信主机的操作系统可能不同,
所以统一转换为网络字节顺序。
由操作系统实现hton和ntoh
分别转换为网络字节顺序和本地字节顺序。
若该操作系统的网络字节顺序和本地字节顺序相同,
则操作系统实现hton和ntoh不做任何转换
在计算机内部,所有数据都是以二进制方式存储的。以字节为单位,每个字节由
八个位组成,每个位只有0和1两种取值。
对于有符号型整数,负数的表示为其相反数的反码(就是对于每一位,原先是
0的,就改为1;原先是1的,就改为0)然后最低位加1,这样的表示法称
为补码。
对于多字节整数,还存在字节序的问题。对于不与网络数据进行交互的程序来
说,无须考虑这个问题。但如果要与网络数据进行交互,这个问题就非考虑不
可。
网络字节序是固定的,但本机字节序可能与网络字节序相反。所以与网络数据进
行交互时,需要用库函数的htonl、ntohl、htons、ntohs等函数进行转换。
x86的主机都是小端字节序,而网络字节序是大端字节序,所以要转换
因为通信主机的操作系统可能不同,
所以统一转换为网络字节顺序。
由操作系统实现hton和ntoh
分别转换为网络字节顺序和本地字节顺序。
若该操作系统的网络字节顺序和本地字节顺序相同,
则操作系统实现hton和ntoh不做任何转换