十进制负5的八进制是373

来源:百度知道 编辑:UC知道 时间:2024/06/28 16:55:20
那么八进制373换成十进制是不是还是负5?

8位的-5的二进制表示为11111011(补码),也就是无符号正数251,转换成8进制确实是373。
可以试试:
printf("%o\r\n", (unsigned char)-5);
输出:
373

373换成十进制是不是还是-5。
可以试试:
printf("%d\r\n", (signed char)0373);
输出:
-5

其实对计算机来说八位的-5和373在内存中是一样的。你把他当着什么看他就是什么。

这个不好说,主要看做什么用途。

如果是在8位的系统中,-5的二进制码是5的二进制码取反码再加1得到的。即:

5的二进制码: 00000101
取反: 11111010
加1: 11111011
转换8进制,从低位3位一位转化:即 (0)11 111 011结果即是373.
当然如果在32位系统中-5的八进制转化过来是37777777773.
但反过来转化是得不到-5的,主要跟存储形式用途有关。

顶一楼的,-5的八进制怎么是373....就算求补码也不是等于那个数啊

-5转成八进制怎么会是373呢?