Matlab掃盲13:數(shù)據(jù)類型:整型,創(chuàng)建方法、取值范圍、整型運(yùn)算
1. Matlab有數(shù)據(jù)類型嗎?
一般來講,不用考慮這個(gè)問題,因?yàn)?/span>Matlab創(chuàng)建和使用變量,不需提前聲明,默認(rèn)使用的浮點(diǎn)類型數(shù)據(jù),基本上做各種常規(guī)運(yùn)算和編程都是沒有多大問題的;
但話說回來,使用的多了,不可避免的要區(qū)分?jǐn)?shù)據(jù)類型了,比如,要使用一組字符數(shù)據(jù),再比如,要使用表類型數(shù)據(jù);
這里我們先從最基本的數(shù)值型:整型,開始說起;
2.概念
Matlab支持整數(shù)數(shù)據(jù)的1個(gè),2個(gè),4個(gè)和8個(gè)字節(jié)的存儲(chǔ),再分為有符號(hào)和無符號(hào),總共8個(gè)整型類別,如下表所示:
整型類別? ??取值范圍? ?函數(shù)
有符號(hào)的8位整數(shù) -2^7至2^7-1 int8
有符號(hào)的16位整數(shù) -2^15至2^15-1 int16
有符號(hào)的32位整數(shù) -2^31至2^31-1 int32
有符號(hào)的64位整數(shù) -2^63至2^63-1 int64
無符號(hào)的8位整數(shù) 0到2^8-1 uint8
無符號(hào)的16位整數(shù) 0至2^16-1 uint16
無符號(hào)的32位整數(shù) 0至2^32-1 uint32
無符號(hào)的64位整數(shù) 0到2^64-1 uint64
3.創(chuàng)建方法
程序示例
int8(10)? %有符號(hào)整型
int8(10.5)? %只存儲(chǔ)整數(shù)、進(jìn)行四舍五入
int8(130)? %130超出最大值范圍,則返回最大值127
int8(500)? %返回127
int8(-130)? %-128
4.各整型類型的取值范圍
測試整型數(shù)據(jù)的取值范圍最大值和最小值分別使用intmax和intmin函數(shù);
程序示例
intmax('int8')? %獲取整型最大值127
intmin('int8')? %獲取整型最小值-128
intmax('uint8')
intmin('uint8')
5.整型運(yùn)算
程序示例
int8(1)*int8(5)? %整型5
int8([1 2 3])*int8(5)? %整型數(shù)組,遵循兼容性運(yùn)算
a=int8([1 2 3])*2.3? %整型數(shù)組*雙精度浮點(diǎn)型,結(jié)果四舍五入為整型
6.整型的用途
隨著計(jì)算機(jī)硬件性能的提升,一般使用浮點(diǎn)型數(shù)據(jù)進(jìn)行運(yùn)算,整型數(shù)據(jù)似乎用的比較少,但是對(duì)于一些特定應(yīng)用場景,例如圖片,使用imread把圖像數(shù)據(jù)讀取到Matlab中,表達(dá)數(shù)據(jù)的格式就是整型數(shù)據(jù),圖像數(shù)據(jù)使用像素點(diǎn)陣表達(dá),使用整型數(shù)據(jù)可以節(jié)省內(nèi)存。
相關(guān)視頻

End