有时候考虑到平台之间的通用性,可能把一个Ulong拆分成2个Uint来进行各平台之间的通讯,当时转换的时候有点头晕,对与或预算不是很熟悉,不过还是花了半小时弄出来了,代码: //ulong的最大值2^64 ulong value = (ulong)System.Math.Pow(2, 60) + 23154679912344; byte[] bu = BitConverter.GetBytes(value); //高位 uint high = BitConverter.ToUInt32(bu,…
一 窗口和消息 1. 前缀: 2 WPARAM和LPARAM的意义在Windows是一种16位系统时,WndProc的第三个参数被定义为WORD,是一个16位的无符号整数,而第四个参数被定义为一个LONG,是一个32位有符号整数,所以导致对单词PARAM(参数)加前缀W和L.但在32位Windows中,WPARAM被定义为一个UINT,而LPARAM被定义为一个LONG,因此窗口过程的这两个参数都是32位的值. 3 新的函数类型WndProc函数返回一个类型为LRESULT的值,该值是一个LON…
题目如上,例子v=22312324,c=3,求得最大数为334. 用自己的想法实现了一遍,如果你有更好的方法的话,欢迎不吝赐教. 我的思路是,先将整数v按位存入一个数组,数组低位为整数高位,如num[]={2,2,3,1,2,3,2,4}.求得最大数有c位数,v_max[]={……}. 每次从数组num[]取得一位最大数,存入v_max[]相应位.如求v_max[0],因为v_max有c位,所以可取num[0]~num[len-c-0]中的最大数(len为v的位数),记录最大数下标为num_i,…
在观察内存的时候应当注意"内存数据"与"数值数据"的区别. 在我们的调试环境中,内存由低到高分布,你可以简单地把这种情形理解成Win32系统在内存中由地位向高位存储一个4字节的双字,但在作为"数值"应用的时候,确实按照由高位字节向低位字节进行解释.这样一来,在我们的调试环境中,"内存数据"中的DWORD和我们逻辑上使用的"数值数据"是字节序逆序过的. 例:…
Go语言判断一个字节的高位大于四 1.步骤: 第一步,将该字节的低位清零(与0xF0进行&运算) 为了后面与0x40比较 0xF0转为二进制是1111 0000,&运算(两个同时为1,结果为1,否则为0)后该字节高位不变,低位清零 第二步,低位清零后的值与0x40进行比较 0x40转为二进制是0100 0000,低位清零后比较的就是高位 2.代码: package main import "fmt" func main() { var a uint8 = 0x68 va…
.net下简单快捷的数值高低位切换 做网络通讯中数值传输是很普遍的事情,但数值的存储在不平台和硬件上存储方式都不一样,主要有两大类分别是高位和低位存储:而.net平台下是低位存储,通过.net提供的函数读写是低位也不提供设置:对于高位存储的就有比较流行的语言平台有Java.由于存储不一样所以在读取和写入的时候就需要另一方面做转换.在.net下其实简单地通过反转数组或移位存储的方式可以简单的进行高位转换.不过程序已经写好了而在读写的时候用了低位,又不想修改读写代码可以简单地通过以下函数对数值转换一…
一个常规的windows窗体一般都是一些一样的构造.你假设想要更改一些个性化的设置,你能够在这个一般的模板伤添砖加瓦.构造自己比較喜欢的类型.下边就分析一下一般的windows窗体的一般模板. 一. 首先看一下一般的windows窗体都包括什么框架(NO picture you say a J8.....上图上图)例如以下(罗云斌win32汇编书中92页的一张图): 该图简单的描写叙述了一个主要的窗体的框架. 下图是我们分析的第一个窗体的执行演示样例截图: 这个窗体较为简单.可是包括了窗体的基本…
目录 第一个go程序和基本语法 一. 第一个go程序 二. 基础语法 1. 命名 2. 变量 3 常量与枚举 4. 数据类型 5. fmt包的使用 6. 类型别名 7. 类型转换 8. 运算符 第一个go程序和基本语法 一. 第一个go程序 //package 声明开头表示代码所属包 package main //导入格式化包,引了必须用 import "fmt" //左括号{不能单起一行 func main(){ fmt.Println("Go Lang, 开始浪吧~&qu…
在使用FIFO_DC的时候,我们知道这个FIFO的一个功能是可以输入输出的数据宽度不一样,比如: 输入数据为128bit,输出数据为16bit,FIFO内部可以实现这样的转换,但是输出的时候是先送出一个数据的高16位呢还是数据的低16bit呢?? 最好的验证方法就是实验: 1.建立工程,例化fifo,设置如下: 在上图的设置中,重点是红色粗方框内,总线命令类型:高位在前低位在后. 另外数据的宽度和深度设置的有点大,只是实验可以小一点.这里就这样设置吧. 设置完成后,跑内部的仿真(自带的仿真).…
因为最近要从公司离职,害怕用nio写的网络程序没有人能看懂(或许是因为写的不好吧),就调整成了mina(这样大家接触起来非常方便,即使没有socket基础,用起来也不难),所以之前基于nio写的网络程序就开放出来好了! 写的比较挫,大家见谅! 首先是PollServer类,主要处理select,做网络事件的监听和基于FutureTask的数据发送,代码如下: package gs.gate; import gs.gate.handle.ClientHandle; import java.util…