matlab double to int,如何将matlab中的sym数据类型转换为double型

满意答案

00e27ab806e4881f8254fe7ae8741834.png

a19850429

推荐于 2016.11.30

00e27ab806e4881f8254fe7ae8741834.png

采纳率:47%    等级:8

已帮助:862人

一般来说用dec2hex及hex2dec就可以。

ss='010600001388849C';

ssDec = hex2dec(ss);

ssHex = dec2hex(ssDec);

format hex;

disp(ssHex);

不过前提是你的机器能处理这么大的数。

我用小一点的数比如说ss='01600001388849C'测试的结果是没问题的,但是我的机器不能处理大于2^52的数,所以很抱歉无法完成你给出的这个例子。

====================================

补充:

拆分合并的方法试了试, 但是不知道你究竟要怎么用,也没有继续;希望你能把问题描述的更详细一点,特别是最终目的是干什么。

Matlab中关于大数处理有几个方法

1.调用maple内核运算,但是我的matlab版本中没有;

2.拆分合并,ss(1)~ ss(16)依次对应'010600001388849C' 中的各个位上的数,可以考虑用上。

3.换Ubuntu Linux,可支持8G内存运算,也许可行。

4.实在没有适合方法,就只能改算法了。

你试试下面这样的写法可不可以:

A = [1; 06; 0; 0; 19; 136; 132; 156];

fwrite(s, A, 'char', 'async');

其中,A是对应你要输入的'010600001388849C' 这个十六进制数的十进制表示,你用dec2hex(A)可以得到

01

06

00

00

13

88

84

9C.

有可能还有问题,不过你可以尝试在这个思路上再改改。

====================================

02分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值