谁能指令一下LBA转CHS的方法
谁能指点一下LBA转CHS的方法,LBA=(C-Cs)*PH*PS+(H-Hs)*PS+(S-Ss)
一般情况下,CS=0、HS=0、SS=1;PS=63、PH=255
那么以下可以根据公司计算,如下:
C/H/S=0/0/1,代入上述公式中得到LBA=0
C/H/S=0/0/63,代入上述公式中得到LBA=62
C/H/S=1/0/1,代入上述公式中得到LBA=63
C/H/S=220/156/18,代入上述公式中得到LBA=3544145
从LBA到CHS
在这里先介绍两种运算DIV和MOD。DIV做整除运算,即被除数除以除数所得的商的整数部分;比如5 DIV 3=1,33 DIV 6=5。
MOD是余运算,MOD运算则取商的余数;比如:5 MOD 3=2,33 MOD 6=5。
DIV和MOD是一对搭档,一个取整一个取余。各个变量按照上面的进行假设,那么有:
C=LBA DIV (PH*PS) + Cs
H=(LBA DIV PS) MOD PH + Hs
S=LBA MOD PS + Ss
如果上述不用MOD运算,只用DIV运算可以如下:
C= LBA DIV (PH*PS) + Cs
H=LBA DIV PS –(C-Cs) * Ps + Ss
S=LBA- (C-Cs) * PH * PS - (H-Hs) * PS + Ss
那么按照这个规律则有:
LBA=0,相应地C/H/S=0/0/1
LBA=62,相应地C/H/S=0/0/63
LBA=63,相应地C/H/S=1/0/1
LBA=62,相应地C/H/S=0/0/63
LBA=3544145,相应地C/H/S=220/156/18,
通过以上转换,大家对CHS与LBA之间的转换有一定的了解了。
这篇文章上写的办法根本就对不上号\我算了几天了\始终算不出来比如'5 MOD 3=2,33 MOD 6=5'这就不大合适\ 33 MOD 6 算下来等于3才合适嘛晕
还有C/H/S =011算出来才等于63怎么会是1/0/1等于63?
这几个算下来倒是对的
C/H/S=0/0/1,代入上述公式中得到LBA=0
C/H/S=0/0/63,代入上述公式中得到LBA=62
C/H/S=220/156/18,代入上述公式中得到LBA=3544145
这些就完全没办法算\LBA=62,相应地C/H/S=0/0/63
LBA=63,相应地C/H/S=1/0/1
LBA=62,相应地C/H/S=0/0/63
LBA=3544145,相应地C/H/S=220/156/18
那位帮帮忙\感激不尽 不错。等有空写成个软件。就方便了。
页:
[1]