江东海 发表于 2009-3-25 10:36:32

遇到的一个run的问题

这是在diskexplore FOR ntfs中的图片,索引第二个运行31 01 C5 98 E7为什么会是2880841,而不是19658057,欢迎指教。

reeker 发表于 2009-3-25 10:46:21

补码问题。。。。。。

liangmao 发表于 2009-3-25 11:23:24

C5 98 E7
转换成二进制
111001111001100011000101
减一,
111001111001100011000100
取反
000110000110011100111011
十进制
-1599291


4480132-1599291=2880841

江东海 发表于 2009-3-25 20:49:05

非常感谢,只是不知为什么要这么规定,跟前面的运行一样表示不好吗?

tclrz100e 发表于 2009-3-25 23:31:05

原帖由 江东海 于 2009-3-25 20:49 发表 http://bbs.intohard.com/images/common/back.gif
非常感谢,只是不知为什么要这么规定,跟前面的运行一样表示不好吗?
后面的数据不能写在前面的扇区中?

江东海 发表于 2009-3-26 11:07:21

那下面这个运行又怎么算呢,好像上面的计算方法不通呀

liangmao 发表于 2009-3-26 11:49:01

8e0f         3928   第一个运行从3928簇开始。占一个簇
db9b02   170971第二个运行从 170971+3982=174953簇 。占一个簇
a8dd   -8792就要按上面那个方法算了啊, 174953+(-8792)=166161

为什么。计算不通呢。

二月三日 发表于 2009-3-26 13:23:53

请问华山,这怎么判断为负数簇呢,

dnfreeuser 发表于 2009-3-26 14:08:26

江东海 发表于 2009-3-26 15:19:36

万分感谢,
大于
0x80
0x8000
0x800000
0x80000000
的为负的
但不是直接减掉,而是按三楼的算
所以DB 9B 02直接转为十进制,与前面运行的LVN相加,而A8 DD要按三楼
的算,对吧

[ 本帖最后由 江东海 于 2009-3-26 15:32 编辑 ]
页: [1] 2
查看完整版本: 遇到的一个run的问题