随笔分类 - Technology
学习上面的积攒
摘要:IEEE754浮点数的转换方法 今天在处理Modbus协议的数据时,碰到IEEE754浮点数的转换,几经周折,终于找到了方法进行解决,现总结出IEEE754浮点数的转换方法。 说明: 1位符号位(SIGN) 8位指数位(EXPONENT) 23位尾数位(MANTISSA) 其中,32位二进制数的排位为:[31][30][29]...[2][1][0] 16进制转换为10进制的公式如下: SGL =...
阅读全文
摘要:图一 I/O请求包数据结构图1显示了IRP的数据结构,阴影部分代表不透明域。下面是该结构中重要域的简要描述。MdlAddress(PMDL)域指向一个内存描述符表(MDL),该表描述了一个与该请求关联的用户模式缓冲区。如果顶级设备对象的Flags域为DO_DIRECT_IO,则I/O管理器为IRP_MJ_READ或IRP_MJ_WRITE请求创建这个MDL。如果一个IRP_MJ_DEVICE_CO...
阅读全文
摘要:下载了filemon之后在VC6.0里面编译发现报错:按照上面的代码修改原来的程序即可通过编译。
阅读全文
摘要:The DeviceIoControl function provides a device input and output control (IOCTL) interface through which an application can communicate directly with a device driver. The DeviceIoControl function is a ...
阅读全文
摘要:研究MO中很重要的一部分就是SHP格式分析,对于底层开始时很重要的。根据韩鹏老师的书,特将自己的读取内容后分析如下。SHP结构说明文件头记录头记录内容1)文件头的结构文件头是长度固定的(100BYTE)共9个int型和7个double型。起始位置名称数值类型位序0File Code9994intbig4Unused0intbig8Unused0intbig12Unused0intbig16Unus...
阅读全文
摘要:从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以double能存储更高的精度。 任何数据在内存中都是以二进制(0或1)顺序存储的,每一个1或0被称为1位,而在x86CPU上一个字节是8位。比如一个16位(2 字节)的short int型变量的值是1000,那么它的二进制表达就是:00000011 11101000。由于I...
阅读全文
浙公网安备 33010602011771号