struct in_addr ipv4;
ipv4.s_addr = (uint32_t)(-0)
Run Code Online (Sandbox Code Playgroud)
这很奇怪,通常算术是通过Two's Complement实现的,所以你没有有效的负面表示0.
在一个人的补充版本负0的,而不是存储0xFFFFFFFF,所以你将有255.255.255.255当演员到unsigned int类型后转换为IPv4地址.
虽然在正常的架构中使用-0将其转换为unsigned int应该只是给你0x00000000.