C语言整型常量问题一本参考书上讲“只有十进制数可以是负数,而八进制、十六进制数只能是无符号数”,但是课本上举例有“-023,-0x1E".这怎么理解

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 18:31:34
C语言整型常量问题一本参考书上讲“只有十进制数可以是负数,而八进制、十六进制数只能是无符号数”,但是课本上举例有“-023,-0x1E

C语言整型常量问题一本参考书上讲“只有十进制数可以是负数,而八进制、十六进制数只能是无符号数”,但是课本上举例有“-023,-0x1E".这怎么理解
C语言整型常量问题
一本参考书上讲“只有十进制数可以是负数,而八进制、十六进制数只能是无符号数”,但是课本上举例有“-023,-0x1E".这怎么理解

C语言整型常量问题一本参考书上讲“只有十进制数可以是负数,而八进制、十六进制数只能是无符号数”,但是课本上举例有“-023,-0x1E".这怎么理解
书上的说法不太准确,不是说八进制,十六进制等不能表示负数,是可以的.但只是因为这两个进制的数只用于软件相关,不用于平时生活中,而软件中的负数是用补码表示的,所以-10的十六进制当然可以是-0xA,但在计算机中实际存储的值会是0xFFFFFFF6,你说哪个更容易理解呢?