首页 新闻 会员 周边

C# 处理一个ushort类型数据,要求将这个数据的某一些位交换给另外的一个ushort数据的某一些位

0
[待解决问题]

有点不太好描述,这里有一个例子:

ushort u1 ;

ushort u2;

比如 u1里面有三个位我要提出来,放到u2的三个位中,u1,u2的各三个位都不同

 

请问一下,有什么思路吗?

pehnwang的主页 pehnwang | 菜鸟二级 | 园豆:204
提问于:2017-10-23 00:26
< >
分享
所有回答(3)
0

我有个需求,不好描述,你能先做个软件来满足我的需求么?

爱编程的大叔 | 园豆:30839 (高人七级) | 2017-10-23 09:24

语言表达的不是太好,这个问题困扰了2天了。如果明白的话,还请多多请教!

支持(0) 反对(0) pehnwang | 园豆:204 (菜鸟二级) | 2017-10-23 12:01
0

   ushort i = 1000;             byte[] buffer = BitConverter.GetBytes(i);

猝不及防 | 园豆:2781 (老鸟四级) | 2017-10-23 10:11

还是不太明白,Bitconvert获取到的byte数组,只是分开了高低8位,当我要操作低8位的某一位的话,要怎样啊,比如我要把其中的1位提出来赋值给另外的一个ushort类型的第5位?

支持(0) 反对(0) pehnwang | 园豆:204 (菜鸟二级) | 2017-10-23 12:00
0

不就 bit 操作么,有啥不好描述的

hahanonym | 园豆:1460 (小虾三级) | 2017-10-23 10:25

能给我点具体的提示吗?当初也觉得没有什么难得,可是两天了,都没有想出什么好的方法!原谅我是各菜鸟

支持(0) 反对(0) pehnwang | 园豆:204 (菜鸟二级) | 2017-10-23 12:02

@pehnwang: 

首先,拆开源数据,和目标数据BitConverter.GetBytes();

接着,对调需要换位的数据位数,得到目标数据

接着把目标数据还原 BitConverter.ToUInt16()

哪里有问题?

支持(0) 反对(0) hahanonym | 园豆:1460 (小虾三级) | 2017-10-23 16:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册