最快的方式获得排序顺序字节数组从有符号整数
本文关键字:数组 字节数 整数 符号 字节 顺序 方式获 排序 | 更新日期: 2023-09-27 18:12:33
我知道我可以使用比特转换器。GetBytes从整数中获取字节数。但是,我需要一个数组,其中的内容可以比较排序顺序。
。
var plusOne = BitConverter.GetBytes(1);
yields bytes: 0,0,0,1
var plusOne = BitConverter.GetBytes(2);
yields bytes: 0,0,0,2
So far So good:
但:
var minusOne = BitConverter.GetBytes(-1);
yields bytes: 255,255,255,255
没什么奇怪的。但是比较minusOne字节数组和plusOne字节数组会发现minusOne字节数组大于plusOne (255> 0)
是否有什么奇特的方法来移位,xor等,使Int。最小会得到0,0,0,0和int。Max会给255,255,255,255 ??
很抱歉混淆了:)
只需将int.MaxValue + 1
加到当前转换为int的值上,就可以保留范围,如:
var result = BitConverter.GetBytes((uint)((long)input - int.MinValue));