matlab 实现二进制与十进制相互转换
dec2bin():该函数实现从十进制到二进制的转换。调用格式:b=dec2bin(a)。其中b为二进制,a为十进制。
bin2dec():该函数实现从二进制到十进制的转换,调用格式:a=bin2dec(b)。其中b为二进制,a为十进制。参数b的数据类型是字符型
需要注意的是:在使用上述函数的时候,只能实现非负整数与二进制数之间的转化,如果使用负整数的时候会出现错误。
二进制数转换十进制数据如下:
%%%%%%%
cstr0 = textread('C:\Users\xxxx.txt','%s'); % 输入txt文件
cstr1 = textread('C:\Users\xxx.txt','%s'); % 输入txt文件
%%%%%%%%%%
m = 24; % 数据位宽
Max_data = 2^(m-1) - 1;
B_to_Ddatalength = length(cstr0); % 需要转换的数字个数
%%%%%%%%%
data0 = zeros(B_to_Ddatalength,1);
for i=1:B_to_Ddatalengthdata0(i) = bin2dec( cstr0{i} ); %将所有二进制数转换为无符号位十进制数if(data0(i)>Max_data) % 如果结果大于data0(i)=bin2dec(cstr0{i})-2^m; % 转换为负数end
enddata1 = zeros(B_to_Ddatalength,1);
for i=1:B_to_Ddatalengthdata1(i) = bin2dec( cstr1{i} ); %将所有二进制数转换为无符号位十进制数if(data1(i)>Max_data) % 如果结果大于data1(i)=bin2dec(cstr1{i})-2^m; % 转换为负数end
end
十进制数转换二进制数据如下:N = 24; %位宽长度
D_to_Bdatalenth = 2048; %数据长度%%选择数据长度
data0 = data0(2:end);
data1 = data1(2:end);if (data0 >= 0)bin_0 = dec2bin(data0, N); % 正数的反码和补码都和原码一样
elsebin_0 = dec2bin(2^N + data0, N);
endfid = fopen('C:/xxx.txt', 'wt');
for i=1:D_to_Bdatalenthfprintf(fid, '%s\n', char(bin_0(i,1:N)));
end
fclose(fid)if (data1 >= 0)bin_1 = dec2bin(data1, N); % 正数的反码和补码都和原码一样
elsebin_1 = dec2bin(2^N + data1, N);
end
matlab 实现二进制与十进制相互转换相关推荐
- c++十进制转二进制_二进制与十进制相互转换的原理
┇铺垫 二进制,简单来说,是一种运算规则,每一位达到"二"就进一位,故称为"二" "进" 制.在我们日常计算里每一位到"十&quo ...
- C语言:二进制与十进制相互转换
问题:二进制转与十进制相互转换. 代码1:二进制转换为十进制 #include <stdio.h> #include <math.h>int convertBinaryToDe ...
- C 语言实例 - 二进制与十进制相互转换
实例 - 二进制转换为十进制 #include <stdio.h> #include <math.h>int convertBinaryToDecimal(long long ...
- c 语言 二进制 十进制,C 语言实例 - 二进制与十进制相互转换
实例 - 二进制转换为十进制 #include #include int convertBinaryToDecimal(long long n); int main() { long long n; ...
- 二进制和十进制相互转换的简便方法
1.二进制转换为十进制: 如果按照传统的方法,算2的乘方与二进制每一位的积,这样容易理解,但是在编程过程中,求2的乘法用到的pow函数是一个double类型的函数,而我们经常用到的是int类型的数,在 ...
- 二进制与十进制、八进制、十六进制相互转换,八进制与十六进制以二进制为跳板转换(8421法则)
C语言中相关进制表示: 十进制 以正常数字1-9开头,如123 八进制 以数字0开头,如0123 十六进制 以0x开头,如0x123 二进制 C语言不能直接书写二进制数 1. 二进制与十进制相互转换 ...
- Matlab——二进制转十进制(包含小数转换)
Matlab中有二进制转十进制的函数,"bin2dec",示例如下: 但是这个函数只能进行整数转换,如果有小数的话: 由于需要,最近写了一个小程序,实现带小数的二进制转十进制,先看 ...
- 【进制转换】二进制,十进制,八进制,16进制
1.二进制与十进制相互转换 二进制转为十进制 0000 0110转换为10进制: (二进制里面没有"个位.十位.百位",只能通过从左到右或者从右到左第几位来描述), 从右往左开始, ...
- [转载]C# 二进制与十进制,十进制与十六进制相互转换
原文地址:C# 二进制与十进制,十进制与十六进制相互转换作者:tonytonglx 十进制转二进制: 用2辗转相除至结果为1 将余数和最后的1从下向上倒序写就是结果例如302 302/2 = 151 ...
最新文章
- 放心,GPT-3不会“杀死”编程
- 新品秀:Dell Cast,让Android平板变身台式PC
- 小宝机器人的储存容量_新iPad Pro储存越来越大:甚至到1T!您应该购买哪种存储容量呢?...
- 推荐系统笔记:使用分类模型进行协同过滤
- WPF Slider Menu
- 微型计算机工业控制技术,基于ARM的微机原理与接口技术(STM32嵌入式系统架构编程与应用嵌入式与工业控制技术高等学校电子信息类专业系列教材)...
- 历届试题 打印十字图
- php超星查课接口,这是一个可以查询超星课程的接口,请教一下该怎么用啊
- JMeter性能测试入门
- SAP Spartacus ProductConnector和ProductService实现
- sql相同顺序法和一次封锁法_数据库:事务处理
- 进击的爱奇艺文学:如何成为苹果园生态的重要一环?
- DataGrip 上手体验,真香!
- matlab脉冲补偿,基于LabVIEW和Matlab的纳秒脉冲测量信号补偿研究
- Linux服务器安装宝塔面板,Linux服务器安装宝塔服务器管理控制面板
- Linux下7款最佳的开源视频播放器
- 小众绿软|游戏:Lode Runner 2(3D挖金子,英文版)(LodeRunner2)
- Redis 实战场景详解
- intellij idea快捷键精简版
- 检测移动端设备信息 (手机品牌、系统版本等 或 PC