Mac地址长度为6个字节(12位数或48位长)。 Long可以容纳8个字节的数据但是我仍然无法在长数据变量中存储以下mac地址吗?
Long mac=(long) 0xffffffffffff;
为什么会这样? 存储mac地址数据类型的最佳数据类型是什么(我想以base10格式存储)?
答案 0 :(得分:1)
您没有使用long
值,而是使用int
。只需将L
添加到您的号码
Long mac= 0xffffffffffffL;
引用Oracle
关于选择哪种数据类型的如果整数文字以字母L或l结尾,则其长度为long; 否则它是int类型。建议您使用鞋面 大小写字母L因为小写字母l很难区分 从数字1。
关于你的问题,只要它拥有必要的48位,任何数据类型都可以是好的。
值得注意的是,java返回一个字节数组以获取NetworkInterface#getHardwareAddress中的harware地址,但声明它是'通常'一个mac地址。
答案 1 :(得分:1)