每当我使用十六进制值时,我会在头脑中或在转换器的帮助下将转换(如果需要)转换为十进制.好吧,我在想,如果你的工作时间足够长并习惯了十六进制,那么你只是"看到"这个值(无论这意味着什么),就像读小数一样?我的意思是你在一段时间之后能够像基数10那样容易地读取基数16的值吗?当我用十六进制值编写代码时,我这样做是因为它看起来很性感和坏蛋(有时因为8位适合两位数,这有时会有所帮助),而不是因为我觉得它们对它们感觉很舒服.这样我就可以知道在尝试习惯十六进制时是否有任何意义,有一天能够轻松地使用它们.
大脑的工作方式,如果你用它做很多事情,它会变得更好.有些人声称"它就像一块肌肉",但这有点过于简单.
所以是的,如果你每天进行十六进制转换,你最终都能够在视线上转换相当大的数字,并且你可以进行十六进制运算而无需转换成十进制数.
我曾经花了一个晚上记住pi的前100位数字.
所以呢?
引用爱因斯坦从不记住任何电话号码.他说,"那就是我的电话簿."
同样在这里交易.如果你想给自己和你的朋友留下深刻的印象,那么,为什么不呢.但这是一种心理锻炼,而不是真正有用的技能.
在编码中,除非你主要使用汇编程序,否则你很少会使用十六进制数字.在上下文中使用十六进制数字是有意义的,其中这些数字将是比特笨拙的.例如,您可以通过AND与0xFF屏蔽一个字节.与按位移位,符号位,OR和XOR相关联的数字也可能像十六进制一样有意义.用于日常算术的数字通常最好用十进制表示.
一旦你完成了客厅技巧,编程最重要的目标之一就是编写其他人(也许有一天你可以)轻松阅读和理解的代码.在正确的位置使用十六进制是好的; 在错误的地方使用它是混淆和坏的.
你不应该使用十六进制,因为"它看起来很性感和坏蛋(有时因为8位适合两位数)".相反,使用任何数字系统更合适.
当您使用二进制位(例如位掩码,标志等)时,十六进制更合适,因为它们与二进制密切对应,并且(通过某些练习)您可以使用十六进制数快速识别每个位.
使用"正常"现实数字时,十进制更合适.
好问题!
我认为就 Phinary 而言http://en.wikipedia.org/wiki/Golden_ratio_base
说真的,虽然我有一位建筑学教授不需要反汇编程序 - 只需要一个十六进制编辑器:)