永发信息网

C语言里的八进制跟十六进制有负数吗?

答案:4  悬赏:20  手机版
解决时间 2021-04-06 22:07
  • 提问者网友:聂風
  • 2021-04-06 18:54
C语言里的八进制跟十六进制有负数吗?
最佳答案
  • 五星知识达人网友:摆渡翁
  • 2021-04-06 20:21
示的整数,我们都知道整数是可以是正数或负数的,所以这样表示没有问题。

不论是二进制、八进制、十进制、十六进制甚至是三十二进制还是多少多少进制,都只是一种数值的表示方法而已,它们归根结底表示的都是整数,理解了这一点就好了。
----------------------
对补充信息的回答:
我说过,这些只是不同进制对整数的表示方法。八进制、十六进制同样可以表示负数。比如你举的例子,-1这个值,十六进制表示为0xFFFFFFFF。这里面第一位数(就是0x后面的第一个F),它的二进制值是1111,这4个1的第一位1就是符号位,为0表示整个数为正值,为1表示整个数为复制。

也就是说,0x8-0xf开头的十六进制数就是负数。

八进制类似。

再说一句,计算机程序中,我们平时的正负号(+和-)是为了描述十进制数使用的,其他进制有自己的正负值表示方法,并不使用正负号。
全部回答
  • 1楼网友:像个废品
  • 2021-04-06 23:55
有负数,只不过在定义的时候无符号数和有符号数在内存里面的表示方式是有区别的
  • 2楼网友:低血压的长颈鹿
  • 2021-04-06 22:41
C语言是允许负数,但在一个数字前加 - 是十进制对负数的表示法。
要求的是八进制和十六进制 这两种进制就不是用在前面加 - 表示负数
  • 3楼网友:零点过十分
  • 2021-04-06 21:16
C语言的变量可以定义为有符号数或者无符号数,有符号数就有正负的区别,最高位定义为符号位,1代表负数,0代表正数。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯