八进制的表示方法比如说800(8用8进制怎么表示)

八进制的表示方法比如说800(8用8进制怎么表示)

首页维修大全综合更新时间:2025-02-04 20:58:19

八进制的表示方法比如说800

0xFFF1 表示的 是 无符号数 还是 有符号数,16位还是32位?

16位 有符号数 则为补码。

32位 或 16位 无符号数 = F*16^3 + F * 16^2 + F * 16^1 + 1 * 16^0

用C 语言:

printf("%d %u ",(short) 0xfff1, (unsigned short) 0xfff1); // 一个有符号,另一个无符号

-0x800F 需要明确 减去的 是 16位还是32位,无符号数 还是 有符号数补码,

先计算

printf("%d %u ",(short) 0x800f, (unsigned short) 0x800f);

无符号数 = 8 * 16^3 + F

再考虑符号。

8进制 也同样需要明确 16位还是32位,无符号数 还是 有符号数。

无符号数 1*8^5 + 7 * 8^4 + 7 * 8^3 + 5 * 8^2 + 0 * 8^1 + 1

用C 语言: printf("%d %u ",(short) 0177501, (unsigned short) 0177501);

------

记住,计算机内 负数用补码表示。负数的补码是按2进制, 不计符号位 取各位的反码 再加 1。

从 补码 找原码:减1 取反

大家还看了
也许喜欢
更多栏目

© 2021 3dmxku.com,All Rights Reserved.