MATLAB數據進位轉換

2020-12-24 快樂的濾波

MATLAB中,數據的運算、讀取和存儲過程有時會涉及到進位的轉換。不了解進位轉換方法的話會非常惱火。

1、單個數據轉換

比如我們想知道一個十進位數的二進位表示,來看具體的位置1還是0.這時可以用dec2bin函數。

a = 888;

b =dec2bin(a);

b =

1101111000

當然二制轉十進位用bin2dec。注意此時的輸入應為string類型。

a = '1101111000';b =bin2dec(a);b

b =

888

同理:dec2hex,十進位轉化為十六進位;hex2dec十六進位轉化為十進位;

base2dec為將任意進位轉換為10進位。用法為:

a = '525'

b = base2dec(a,6);

b =

197

將6進位數a('525')轉換為10進位數197.

2、矩陣轉換

矩陣進位的轉換和單獨的數據相似。比如將矩陣['1000';'1010';'1100']轉換為十進位表示的矩陣。

a = ['1000';'1010';'1100'];

b = bin2dec(a);

b =

8

10

12

注意,不能將矩陣a寫為['1000','1010','1100'];這樣會是什麼樣的結果呢?

b =

2220

因為這樣相當於a等於'100010101100';

3、文件數據進位轉換

比如源數據為一個xls表格,裡面是一列十進位數(11,22,33,44,55,66,77,88,99),需要把這些數據轉換為16進位,並重新存儲。該如何操作呢?so easy.

a = xlsread('sourcedata.xls');

b = dec2hex(a);

xlswrite('data.xls',b);

結果是什麼呢?

嗯?好像有點不妥呢。我們再加一句。

a = xlsread('sourcedata.xls');

b = dec2hex(a);

b = cellstr(b);

xlswrite('data.xls',b);

結果就是

如果源數據是M*N行的矩陣呢?那麼我們需要在b = cellstr(b);後面加上reshape語句,將b設置為我們需要的行和列。

b = reshape(b,M,N);

假如串口調試助手等收到的數據為十六進位,我們需要進行一些處理,怎麼讀取這個文件呢。txt文檔裡的數據為:A B C D 2E 3F;

a=textread('source.txt','%s')';

a =

'A'

'B'

'C'

'D'

'2E'

'3F'

後續可以用hex2dec轉化為十進位等等。

在工程中,也常常用到各種文件格式和數據類型的文件的讀取、修改、存儲等,這些將會在另一章中介紹。

在成長中學習,在學習中成長!

相關焦點

  • 過冷水帶您走進matlab數據轉換新世界
    數據轉換對於經常使用matlab的夥伴來說是很基礎且實用的知識點,but! 相互之間轉換關係不太容易釐清,免不了書到用時求谷哥度娘。
  • 數據的表示二進位八進位十進位十六進位之間的轉換
    數據的表示1.R進位轉十進位R進位轉十進位使用按權展開法二進位 10100.01 = 1x24+1x22+1x2-2七進位 604.01 = 6x72+4x70+1x7-2十進位 1227 = 1x103
  • javascript進位的轉換
    大家都知道計算機在電腦上存儲的數據是01二進位數存儲的,但是二進位的這種數據對於我們人來說讀取是非常費勁的。這時候就需要我們用到二、八、十、十六進位之間的轉換了十進位和二進位之間的轉換十轉二:用到的方法是除二取餘,倒序排列例如將52轉為二進位結果為110100
  • 關於二進位、十進位、八進位、十六進位數據轉換計算方法詳細總結
    下面在安靜的音樂中,讓我們開始學習吧在我們接觸編程知識時,總會接觸有關進位轉換的知識,最常見的就是10進位與二進位或十六進位之間的轉換,很多時候我們總會遺忘,雖然現在也出現了很多可以直接使用的網絡在線的進位轉換工具,但考試中,我們就要靠自己通過公式進行運算了。
  • BASIC-12十六進位轉換為八進位
    題目問題描述給定n個十六進位正整數,輸出它們對應的八進位數。輸入格式輸入的第一行為一個正整數n (1<=n<=10)。接下來n行,每行一個由09、大寫字母AF組成的字符串,表示要轉換的十六進位正整數,每個十六進位數長度不超過100000。
  • python進位轉換:十進位轉二進位的用法
    我們在學習python時候肯定會碰到關於進位轉換,其實這是非常簡單的,這個就像小學學習數學乘法口訣意義,只要記住轉換口訣即可輕鬆應用,一起來看下具體的操作內容吧~一、python進位轉換dec(十進位)—> bin(二進位)dec(十進位)—> oct(八進位)dec(十進位)—> hex(十六進位)二、十進位我們所熟知的十進位,其實是從 0 開始,數到 9 之後,就跳到
  • 【二進位】----十進位數轉換成二進位數
    二進位是由0和1兩個數字來表示的數,它的基數是2,進位規則是「逢二進一」,借位規則是「借一當二」,是由18世紀德國數理哲學大師萊布尼茲發現的。二進位是現在的計算機系統中廣泛使用的一種數制,計算機中的二進位是一個微小的開關,用「開」來表示1,用「關」來表示0。數據在計算機中主要以這種補碼的形式存儲的。
  • 二進位、八進位、十進位和十六進位數之間的轉換方法
    用進位的原則進行計數稱為進位計數制,簡稱進位。在一般情況下,人們習慣於用十進位來表示數。其實,在現實生活中也使用其他進位,如用六十進位計時,用十二進位作為月到年的進位等。在計算機科學中,不同情況下允許採用不同數制表示數據。在計算機內用二進位數碼表示各種數據,但是在輸入、顯示或列印輸出時,人們習慣於用十進位計數。
  • 進位轉換
    N=a n-1*p n-1+a n-2*p n-2+…+a2*p2+a1*p1+a0*p02、十進位數與P進位數之間的轉換①十進位轉換成二進位:十進位整數轉換成二進位整數通常採用除2取餘法,小數部分乘2取整法。
  • 常用的二進位與八進位-十進位-十六進位之間的轉換
    1k1024k = 1M1024M = 1G1024G = 1Tb(bit) = 比特B(byte) = 字節KB = 千字節MB = 兆字節GB = 吉字節TB = 太字節內存中以二進位形式存儲數據,一個漢字一般為2位元組後面s只是因為數字不為1,
  • matlab vs R
    而 R 奠定了以向量為基礎的數據形式。dec2hexhex2decdec2hex;hex2num, num2hexas.hexmode()unclass()as.numeric()十進位與八進位轉換base2dec('strn', base)bin2dec 設置參數為 8
  • 二進位或BCD的轉換電路
    需要對數據做算術運算的系統一般都是採用二進位形式。而要顯示這些結果,就必須將數據轉換為BCD格式。另一方面,來自數碼開關的地址選擇信息則必須轉換為二進位格式,才能用於存儲器尋址操作。本文引用地址:http://www.eepw.com.cn/article/177043.htm對於不需要快速轉換的應用, 用一個可完成兩種轉換的電路就足夠了。
  • Matlab--TXT數據的讀取
  • 二進位-八進位-十進位-十六進位之間的相互轉換
    10年前,在大學裡學習了數字電路,課本中講到了進位之間的相互轉換,最近用到數字晶片74HC125,涉及到TTL-CMOLS
  • Python 進位轉換
    提到進位轉換這裡需要了解int()這個內置函數,大多數人都會這樣用:int(x)其目的一般是將x字符串轉化為整數,int()除了這個作用外,還可以將其他進位數轉化為十進位數,Python內置函數官方文檔
  • 單片機進位轉換
    十 ----> 八  10進位數轉換成8進位的方法,和轉換為2進位的方法類似,惟一變化:除數由2變成8。   來看一個例子,如何將十進位數120轉換成八進位數。十 ----> 十六   10進位數轉換成16進位的方法,和轉換為2進位的方法類似,惟一變化:除數由2變成16。
  • 二進位與八進位互相轉換
    上節課我們學習了二進位轉換十進位,那二進位與常用的八進位之間是如何互相轉換的呢?下面我們先看看二進位與八進位的轉換方法。
  • 計算機進位的轉換
    所以我們就得學會進位的轉換,輸入計算機能聽懂的語言,這樣計算機才能聽懂我們說話,今天我們就學習一下進位的轉換和補碼反碼的計算。1、 最常見的是十進位轉換成二進位,主要有三種方法:比如我們吧十進位的45,轉換成二進位:(1)、方法1除2取餘,最後結果是101101如下圖所示(從下往上讀):(2)、我們也可以採用8421碼進行計算,如下圖所示
  • 二進位、八進位、十進位、十六進位數的轉換方法
    -2+…+a2*p2+a1*p1+a0*p02、十進位數與P進位數之間的轉換①十進位轉換成二進位:十進位整數轉換成二進位整數通常採用除2取餘法,小數部分乘2取整法。例如,將(30)10轉換成二進位數。把十六制1E轉換為十進位(1E)16=1*161+14*160=16+14=(30)103、二進位轉換成八進位數(1)二進位數轉換成八進位數:對於整數,從低位到高位將二進位數的每三位分為一組,若不夠三位時,在高位左面添0,補足三位,然後將每三位二進位數用一位八進位數替換,小數部分從小數點開始,自左向右每三位一組進行轉換即可完成。
  • LabVIEW系列——將串口二進位數據轉換成ASCII字符
    有朋友經常問:怎麼將從串口接收到的數據轉換成ASCII字符?又怎麼給串口發送二進位數據?接下來就一步一步地解決以上兩個問題:1、LabVIEW中,字符控制項顯示字符有4種方式:正常顯示,代碼顯示,密碼顯示,十六進位顯示。如下圖所示。