Java 为什么有些开发人员会这样分配原始整数?int i=0x0001
我想知道为什么有些开发人员会这样分配intJava 为什么有些开发人员会这样分配原始整数?int i=0x0001,java,int,variable-assignment,Java,Int,Variable Assignment,我想知道为什么有些开发人员会这样分配int int i = 0x0001; 与以下产品线相比,是否有任何优势: int u = 1; 第一个示例使代码更难理解。使用0x0001赋值有什么好处?就代码而言没有好处;0x0001样式的解析速度并不快,并且两个表单之间生成的类文件完全相同 正如你问题上的一些评论所强调的那样,这可能有一种风格上的优势,但是,风格上的优势在旁观者的眼中。归根结底,很难对“我觉得这更漂亮”进行赞成或反对的辩论。就代码而言,没有任何优势;0x0001样式的解析速度
int i = 0x0001;
与以下产品线相比,是否有任何优势:
int u = 1;
第一个示例使代码更难理解。使用0x0001赋值有什么好处?就代码而言没有好处;
0x0001
样式的解析速度并不快,并且两个表单之间生成的类文件完全相同
正如你问题上的一些评论所强调的那样,这可能有一种风格上的优势,但是,风格上的优势在旁观者的眼中。归根结底,很难对“我觉得这更漂亮”进行赞成或反对的辩论。就代码而言,没有任何优势;
0x0001
样式的解析速度并不快,并且两个表单之间生成的类文件完全相同
正如你问题上的一些评论所强调的那样,这可能有一种风格上的优势,但是,风格上的优势在旁观者的眼中。归根结底,支持或反对“我觉得这个更漂亮”是很难的。Base-16有4位(8 4 2 1
)表示法,这使解释器更简单
更详细地讲,支持16位表示有时需要执行逐位操作来设置标志的开和关,因此在这种情况下,使用Base-10不是一个好主意。
尽管Base-16表示法存在一些安全问题。Base-16有4位(8 4 2 1
)表示法,使解释器更简单
更详细地讲,支持16位表示有时需要执行逐位操作来设置标志的开和关,因此在这种情况下,使用Base-10不是一个好主意。
尽管Base-16表示法存在一些安全问题。如果我想让未来的维护人员知道这个数字的位表示法(而非值)具有某种意义,我通常会明确给出十六进制形式的数字。例如,在按位“hacks”或位打包中。例如,如果我打算使用
I
屏蔽除最后一位以外的所有数字,我将使用0x0001
而不是1
。谢谢Dillon Davis。你能想到一个不涉及双移位的用例吗?当你从一个以十六进制提供的外部规范中复制时。如果我想让未来的维护人员知道这个数字具有某种意义,它的位表示形式,而不是值,我通常会显式地给出一个十六进制形式的数字。例如,在按位“hacks”或位打包中。例如,如果我打算使用I
屏蔽除最后一位以外的所有数字,我将使用0x0001
而不是1
。谢谢Dillon Davis。你能想到一个不涉及双移位的用例吗?当你从以十六进制提供的外部规范复制时。你愿意详细说明安全位吗?我认为这不是一个安全问题。在任何一种赋值情况下,值都平等地存储在RAM中。您是否愿意详细说明安全位?我不认为这是一个安全问题。在任何一种赋值情况下,这些值都平等地存储在RAM中