一个软件可根据目标的经纬度显示在屏幕上,当更改目标的经纬度的十六进制时,目标的在屏幕上的位置会随着改变。
目标的经纬度由八位十六进制表示,当只更改此目标的前四位十六进制时,目标会上下改变位置,当只更改此目标的后四位十六进制时
目标会左右改变位置。因此判断前四位十六进制表示纬度,后四位十六进制表示经度。
当目标的纬度的十六进制为3e ef 00 00时,鼠标移动到显示目标上,显示的纬度是N264455.
当更改此目标的纬度的十六进制为3e e0 00 00时,鼠标移动到显示目标上,显示的经度是N250424当目标的经度的十六进制为3f ef 00 00 时,显示的的经度是E1065915,
改为3f f0 00 00时,显示的经度是E1072641
(说明:由于显示的经纬度是当前鼠标的位置,这一显示经纬度与目标的实际经纬度可能少许差异)
请问:已知一个目标的经纬度,怎样用八位十六进制表示出来?
目标的经纬度由八位十六进制表示,当只更改此目标的前四位十六进制时,目标会上下改变位置,当只更改此目标的后四位十六进制时
目标会左右改变位置。因此判断前四位十六进制表示纬度,后四位十六进制表示经度。
当目标的纬度的十六进制为3e ef 00 00时,鼠标移动到显示目标上,显示的纬度是N264455.
当更改此目标的纬度的十六进制为3e e0 00 00时,鼠标移动到显示目标上,显示的经度是N250424当目标的经度的十六进制为3f ef 00 00 时,显示的的经度是E1065915,
改为3f f0 00 00时,显示的经度是E1072641
(说明:由于显示的经纬度是当前鼠标的位置,这一显示经纬度与目标的实际经纬度可能少许差异)
请问:已知一个目标的经纬度,怎样用八位十六进制表示出来?
string str="";
str = x.ToString("X");
//转换后str的值就是0000060C(通常显示60C)
当目标的纬度的十六进制为3e ef 00 00时,鼠标移动到显示目标上,显示的纬度是N264455.
当更改此目标的纬度的十六进制为3e e0 00 00时,鼠标移动到显示目标上,显示的经(应该是纬)度是N2504243e ef 00 00 -3e e0 00 00 = 00 0f 00 00= 15*256*256= 983040
26度44'55" - 25度04'24"=1度40'31"=1*60*60+40*60+31=6031' 983040/6031=162.9978当目标的经度的十六进制为3f ef 00 00 时,显示的的经度是E1065915,
改为3f f0 00 00时,显示的经度是E1072641,同理可得
3f f0 00 00 - 3f ef 00 00=00 01 00 00=1*256*256=65536
107度26'41"-106度59'15"=0度27'26"=27*60+26=1646 65536/1646=39.81531 如果排除误差,刚好是上面数字的1/4很简单纬度就是按照160/1秒计算的,而经度就是按照40/1秒计算的
这也在情理之中,因为南北纬加起来总共180度,而东西经加起来360度,本来疏密不一。如果分析算法,还应该搞清楚南纬,和西经是怎么表示的,请lz取样就可以分析出结果了。
点的速度分为x\y两个分量,x分量的十六进制以及对应的十进制的值如下: x的十六进制 对应的十进制值 y的十六进制 对应的十进制值
点A b8 18 00 00 -831.192654418945 b6 01 00 00 -38.9079821403823点B b8 18 e4 00 -836.062923878431 b6 00 00 00 -38.6063698757281点c 35 5a 99 35 18.6777794353256 b8 2a 54 e2 -821.985465940994点D 35 5a 00 00 18.6266445994377 b8 2a 54 00 -821.968824248657点E b8 17 7d 3c -828.399392007594 36 7e 0b 1e 76.6226131912826点F b8 17 7f 3d -828.442197110265 36 7e 0c 18 76.6237637507639点G 38 26 21 f1 908.474889230653 35 ef 70 66 36.1088780231953
点H 38 26 20 00 908.433419179916 35 ef 70 00 36.1086433090612
用点与点之间的十六进制差除以对应的十进制值差,得到如下结果
x值比 y值比
A B -11984.5524 -217285.69
c D 767011.359 -13580.3496
E F -11984.5524 217285.59
F H 11984.5524 434571.187
还测试了很多点,这里就不一一列出了.可以看出点x\y的十六进制表示中区分正负.那么这正负值是怎样表示的?
已知点X\y的十六进制速度分量,怎样知道它的十进制值.谢谢各位先.分不够再加!
int/1000000
整数部分为度小数部分乘以60得到的整数部分既为分,小数部分乘以60既为秒