Math 公制和英制内部表示法

Math 公制和英制内部表示法,math,units-of-measurement,Math,Units Of Measurement,我想在应用程序中使用公制和英制距离单位。一种方法是用装置标记一个数字。我不想走这条路 我想使用一种内部表示法,可以精确地将imperial保持在1/64英寸和0.2毫米。我得到了8128个RSU(非常小的单位),可以被64和254整除,这就是我想要的 这接近于2^13,这让我想知道是否有一种更理想的方法可以做到这一点 有什么想法吗?为了避免舍入错误和编程混乱,我建议在内部使用一个单元。因此,您可以在外部进行转换: 桂 进出口 可能是数据库,但最好将其留给内部单位,除非您被迫使用该数据库 在过

我想在应用程序中使用公制和英制距离单位。一种方法是用装置标记一个数字。我不想走这条路

我想使用一种内部表示法,可以精确地将imperial保持在1/64英寸和0.2毫米。我得到了8128个RSU(非常小的单位),可以被64和254整除,这就是我想要的

这接近于2^13,这让我想知道是否有一种更理想的方法可以做到这一点


有什么想法吗?

为了避免舍入错误和编程混乱,我建议在内部使用一个单元。因此,您可以在外部进行转换:

  • 进出口
  • 可能是数据库,但最好将其留给内部单位,除非您被迫使用该数据库

在过去,有几个项目由于单元混淆而失败。

一个稍微简单的解决方案可能是使用“其他小型单元”,使1 OSU=1/320 mm。按照这个约定,1/64“将是127个OSU,0.2mm将是64个OSU。由于127和64是相对素数,这是可以得到的最低分母。

在这个问答中搜索其他内容(如何从浮点到公制单位前缀),并认为我应该分享一个我见过的实现

是一种印刷电路板(PCB)布局程序,可以处理三种刻度:英寸、毫米和密耳(1密耳=0.001英寸),最后一种是美国行业标准测量值之一。这是一种浮点舍入误差不精确导致产品缺陷或不可用的业务


为了在内部表示坐标,他们使用了所谓的“基本”单位,精确到2/3 nm。因此,毫米有1.5e6个基本单位,密耳有38100个基本单位。这使得他们可以将0.01千分之一英寸或10纳米的距离表示为这些“基本”单位的整数(分别为381和15).使用32位整数作为坐标,每个轴上的工作空间刚好超过112英寸(2.86米)。

“一种更为理想的方式。”“-以什么标准衡量?空间还是速度?不,8128已经很完美了同意:确定一个单位,然后提供从基本单位到显示两个单位的转换。就我个人而言,我会在数据库级别进行转换,可以是视图转换,也可以是计算列转换。你们的意思可能是一样的,1 SU=1/8128 inch=1/320mm。@starblue:是的,我想你是对的,我不太清楚8218这个句子的意思。但是,我想我的答案是,这些确实是最好的单位。。。