• 注册
当前位置:1313e > 默认分类 >正文

CHS与LBA之间转换程序

原理及介绍来自维基百科 http://zh.wikipedia.org/wiki/%E9%82%8F%E8%BC%AF%E5%8D%80%E5%A1%8A%E4%BD%8D%E5%9D%80

个人用的小程序

/*
#lba=(#c*H+#h)*S+#s-1#c=#lba/(S*H)
#h=(#lba/S)%H
#s=(#lba%S)+1#c、#h、#s分别是磁柱、磁头、扇区的编号(起始值0、0、1)
#lba是逻辑区块编号(起始值0)
H=heads per cylinder,每个磁柱的磁头数
S=sectors per track,每磁道的扇区数
*/#include 
int main(void)
{int H,S;int choose;int c,h,s,lba;printf("H S(通常255 63): ");scanf("%d%d",&H,&S);
s:printf("\n1.CHS to LBA\t2.LBA to CHS\t");scanf("%d",&choose);if(choose==1){printf("CHS: ");scanf("%d%d%d",&c,&h,&s);lba=(c*H+h)*S+s-1;printf("LBA: %d\n",lba);}else{printf("LBA: ");scanf("%d",&lba);c=lba/(S*H);h=lba/S%H;s=lba%S+1;printf("CHS: %d %d %d\n",c,h,s);}goto s;return 0;
}

 

转载于:https://www.cnblogs.com/zackcoder/p/3506005.html

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录