关于VB浮点数运算例题的 这些的代码 能详细表述一下吗

对于单片机软件工程师在设计上下位机通讯时,经常会遇到这样一个问题,那就是如何传递一个float或者说是double或者是long 类型的数据,这些数据是由多个字节组成的,那么符合实现发送和在vb6中接收,以及将数据还原是个问题。
事实上在C/C++中要实现很简单,只要通过指针和字节访问即可!
下面来看一个使用Turbo C 2.0做的例子:
#include&stdio.h&
#include&stdlib.h&
#include&conio.h&
void main()
unsigned char *pa,*
pb[0]=pa[0];
pb[1]=pa[1];
pb[2]=pa[2];
pb[3]=pa[3];
printf("0x%x,0x%x,0x%x,0x%x=%f",pa[0],pa[1],pa[2],pa[3],fb);
到此我们知道一个数据类新是如何在C中实现字节操作的,相信大家也应该知道怎么把一个float从串口中发送出去了吧,那么下面的工作就是如何在VB6中将收到的4个字节数据进行还原咯!
前面我们已经知道一个float类型的数据,当其值为3.14的时候,其值在内存中占据4个字节,其内容用十六进制表示为0xC3,0xF5,0x48,0x40
在vb中的代码实现如下:
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
'内存拷贝Private Declare Function VarPtr Lib "MSVBVM60.dll" (var As Any) As Long
Private Sub Form_Load()
Dim f As Single
Dim b(4) As Byte
b(0) = &HC3
b(1) = &HF5
b(2) = &H48
b(3) = &H40
CopyMemory ByVal VarPtr(f), b(0), 1
'类似于C中的指针操作,将数据填充到其对应的字节位置中
CopyMemory ByVal VarPtr(f) + 1, b(1), 1
CopyMemory ByVal VarPtr(f) + 2, b(2), 1
CopyMemory ByVal VarPtr(f) + 3, b(3), 1
到此,相信大家应该可以很容易实现任意数据类型的传递以及在上位机中准确显示了!
vb6的数据类型
vb6的数据类型有以下几种: Boolean数据类型 Byte数据类型 Currency数据类型 Date数据类型 Decimal数据类型 Double数据类型 Integer数据类型 Long数据类...
VB 中的基本数据类型
VB基本数据类型
VB 6.O提供的基本数据类型主要有:字符型数据、数值型数据、货币类型、字节类型、布尔类型、日期类型、通用类型、无符号类型、对象类型等9种数据类型。
1.字符型数据 ...
用到的API声明:
Private Declare Sub CopyMemory Lib &kernel32& Alias &RtlMoveMemory& (Destination As Any, ...
Byte)& rel=&bookmark& href=&http://yulv.net/archives/243/&&VB 长整型和字节数组的转换问题 (LongPosted by JiaJia 17...
public class Test {
public static void main(String args[] ) {
int i = 212123;
下载 & 开发技术 & &em&VB&/em& & 浮点型转换工具 ... 上传大小:36KB 浮点型浮点型&em&转字节&/em& ...&em&整形&/em& 浮点型 转换软件 5C币 119下载
双精度浮点型...
需求:如用4个字节byte b[4]表示整型数值i,要求将i的值转换到byte b[4]中;
分析:简单而高效的方法是用位运算来取值;byte b[4]能表示的整型值范围是[0, ...
VB6中实现浮点数各个字节的提取
前面已经讲过如何在vb6中实现将多个字节还原成其实际的原始类型,那么我们也经常需要在上位机上将浮点数等数据按照字节进行传输。
废话不多说了,直接给出系列源码,请参考之前的文章来看吧。
没有更多推荐了,&>&Modbus IEEE754 浮点数 转换 方法 VB 代码
Modbus IEEE754 浮点数 转换 方法 VB 代码
上传大小:226KB
Modbus IEEE754 浮点数 转换 方法 VB 代码
使用VB6把MODBUS协议中的32位整数,变换为浮点数
MODBUS协议 数据 转换 IEEE754 Float Long
综合评分:5
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有7条
很有帮助,感谢楼主
可以使用,但是不够完美,太麻烦了!
很好的学习资料!
综合评分:
积分/C币:3
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
Modbus IEEE754 浮点数 转换 方法 VB 代码
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*投诉人姓名:
*投诉人联系方式:
*版权证明:
*详细原因:
Modbus IEEE754 浮点数 转换 方法 VB 代码VB在模块文件Hexedit.bas中写入CopyMemory的声明Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)在窗体文件中写入'************************************************'字符串表示的十六进制单精度浮点数数转化为相应的十进制数'************************************************Function StrhextoSng(strhex As String) As String
Dim l As Long
Dim f As Single
Dim s As String
l = Val("&H" & strhex)
CopyMemory f, l, 4
s = Format(f, "0.000")
StrhextoSng = sEnd FunctionVCCString StrhextoSng(CString mystr){
sscanf(mystr,"%x",&value);//将CString表示的十六进制字符串转换成十六进制数
return strmy.Format("%f",value);}原来都是超级简单,唉,看来还是要多加强基本功呀
关于16进制字符串转为单精度浮点数和双精度浮点数的运算(二)
2.IEEE 64位浮点数格式
这种格式的特点是:每个数由8字节组成,包括1位符号位,11位带符号阶码,52位尾数。
例如:我们收到一个数的格式是 3F F0 6F 80 00 00 00 00,...
16进制浮点数(正和负数)转化成十进制显示!绝对成功显示
在工作需要时,需要引功能,网上查了半天,基本都是正数浮点数可以的,但负数浮点数就报错了,通过查询资料和修改部分函数,完成完全转化功能,经测试OK
转化思路:  16进制的字符串&&&转化二进制的字符串...
两种将字符串转换成浮点数的方法
两种将字符串转换成浮点数的方法 方法一:
szString[] = &-6443&;
double db1;
db1 = atof(szStrin...
VB的浮点数处理
VB串口通信中经常会遇到10进制浮点数转为多字节Byte数据类型的情况,以及在接收后需转为10进制浮点数需求。
VB有专门的API函数CopyMemory能处理2-10进制浮点数转换和10-2进制浮...
将按十六进制存储的32位浮点数转换为十进制的小数
原始数据为(20.59375)10
将整数和小数部分转换为二进制数:20..10011
移动小数点:=1.×24
32位浮点数的二进...
十六进制转换为浮点数
转载出处:http://blog.csdn.net/hursing
转换的程序:
view plain
// 输入十进制整...
c++中格式化输出。十六进制浮点数0x p输出问题
不可用cin读取空格,回车换行,tab。若要则用getchar。
格式化输入输出需要iomanip头文件。
默认不加为6位有效数字。
在输入流与输出流中使用控制符
dec hex oct 10 16...
C/C++ 浮点数转化为 2,8,10,16 进制的数
void f1(int m, int n) { //转整数部分
if(m) { f1(m/n,n);
没有更多推荐了,豆丁微信公众号
君,已阅读到文档的结尾了呢~~
VB与C51之间浮点类型数据的传输和转换,vb浮点型,vb 浮点数,vb浮点数据类型,vb.net 浮点数,vb 二进制转浮点数,vb 字符串转浮点,vb6 4字节转浮点,浮点数转换工具,浮点型转换成整型
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
VB与C51之间浮点类型数据的传输和转换
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口各位高手,请问如何把函数计算出来的结果(单精度浮点数)转换成一般数(不带e+007的)
[问题点数:40分,结帖人pbh007]
本版专家分:0
结帖率 92.31%
CSDN今日推荐
本版专家分:17521
2005年11月 VB大版内专家分月排行榜第一
2005年10月 VB大版内专家分月排行榜第二
2005年12月 VB大版内专家分月排行榜第三
本版专家分:42357
2006年4月 荣获微软MVP称号2008年4月 荣获微软MVP称号2007年4月 荣获微软MVP称号
2006年6月 VB大版内专家分月排行榜第一
2006年5月 VB大版内专家分月排行榜第三2005年9月 VB大版内专家分月排行榜第三
本版专家分:0
匿名用户不能发表回复!
其他相关推荐}

我要回帖

更多关于 vb加法器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信