317109954 发表于 2021-10-6 17:26:04

无符号数对应的有符号数的十进制值(8 位)

想请问大神,13对应的有符号数的十进制值是怎么算的?

我算出来是-115,不知道是不是对的。

可是-115对应的无符号数的十进制值算出来是141

搞混乱了,搞不懂了,,,哎。。。我太难了。。。

人造人 发表于 2021-10-6 18:20:18

不知道你在说什么,你先算一算看看

jhq999 发表于 2021-10-6 19:02:11

本帖最后由 jhq999 于 2021-10-6 20:06 编辑

-115 0x8d (有符号)1000 1101b
141 0x8d(无符号)1000 1101b
13 0xd    (不管有无符号都是13)0000 1101b

-13=>~(13-1)=~(0000 1101b-1b)=~(0000 1100b)=1111 0011=0xf3
而不是直接把符号位变成1(1000 1101b )


317109954 发表于 2021-10-6 20:26:16

人造人 发表于 2021-10-6 18:20
不知道你在说什么,你先算一算看看

好吧,我再算一次来看

317109954 发表于 2021-10-6 20:28:33

jhq999 发表于 2021-10-6 19:02
-115 0x8d (有符号)1000 1101b
141 0x8d(无符号)1000 1101b
13 0xd    (不管有无符号都是13)0000...

您这d啊,b啊,的是些什么。小白看不懂。小白只会照着书上说的,按权相加,辗转相除,补码加1.这几种方法。

2736946915 发表于 2021-10-6 21:58:05

你的13是十六进制还是十进制?

jhq999 发表于 2021-10-6 22:24:42

317109954 发表于 2021-10-6 20:28
您这d啊,b啊,的是些什么。小白看不懂。小白只会照着书上说的,按权相加,辗转相除,补码加1.这几种方法 ...

0x8d是16进制。重点0x代表16进制
0000 1011b是二进制,b是bit的简写
13是十进制

317109954 发表于 2021-10-6 23:06:46

jhq999 发表于 2021-10-6 22:24
0x8d是16进制。重点0x代表16进制
0000 1011b是二进制,b是bit的简写
13是十进制

{:5_99:}谢谢。。

317109954 发表于 2021-10-6 23:07:18

2736946915 发表于 2021-10-6 21:58
你的13是十六进制还是十进制?

是十进制

@littlefool 发表于 2021-10-7 09:42:16

这个地方比较难理解 ,我啃不动。直接跃过。

2736946915 发表于 2021-10-7 15:01:39

317109954 发表于 2021-10-6 23:07
是十进制

13对应的不还是13吗不管你有符号没符号,前面的又不会变,内存只会是00 00 11 01

317109954 发表于 2021-10-7 21:16:21

@littlefool 发表于 2021-10-7 09:42
这个地方比较难理解 ,我啃不动。直接跃过。

{:5_107:}

halemorning 发表于 2022-12-12 23:27:00

我好像看懂这个题了,正数对应的无符号十进制值都是这个整数,负数对应的无符号十进制值就是求这个负数的补码
页: [1]
查看完整版本: 无符号数对应的有符号数的十进制值(8 位)