c语言中-1的八进制值是37777777777
计算机中整数采用补码存放
整型数据在计算机中占四个字节,一个字节8位,共32位
-1是整形常量,其补码为111....1111(32个1)
二进制转八进制,从右边起,每三位一组,每组对应一个八进制数,如,以一字节为例:
10101011(B) = 10 101 011 = 253(O)
所以,32个1对应的八进制数就是37777777777
计算机输出8进制数时,无符号概念,在C语言中,可以用printf("%o")格式输出整数的八进制格式,参考代码: