官术网_书友最值得收藏!

2.1 整型

MATLAB 7.0中的整型數據類型,按照有無符號位可以分為有符號位整數和無符號位整數,而按照數據類型的字節數又可分為8位、16位、32位、64位的整數類型。在使用中主要根據實際存儲的數據的數值大小范圍來確定數據類型,在保證數據精度的同時盡量避免不必要的內存的浪費,提高運算速度。其中有符號位整型需要一個1位來表示數據為負,因此有符號位的整型數據8位、16位、32位、64位的范圍分別為-27~27-1、-215~215-1、-231~231-1、-263~263-1;無符號位的整型8位、16位、32位、64位的范圍分別為0~28-1、0~216-1、0~232-1、0~264-1。

不同類型整型的生成函數如下。

● int8(x):有符號8位整型數據生成。

● int16(x):有符號16位整型數據生成。

● int32(x):有符號32位整型數據生成。

● int64(x):有符號64位整型數據生成。

● uint8(x):無符號8位整型數據生成。

● uint16(x):無符號8位整型數據生成。

● uint32(x):無符號8位整型數據生成。

● uint64(x):無符號8位整型數據生成。

【例2.1】不同類型整型數據的生成。

>> x=int8(12)  %有符號8位整型數據x生成,其值為12
x =
   12
>> y=uint16(x)  %x轉換為無符號16位整型數據y
y =
    12
>> z=int8(128)  %有符號8位整型數據z生成,128超過最大上限,其值為127
z =
  127
>> xx=int8(-8)  %有符號8位整型數據xx生成,其值為-8
xx =
   -8
>> yy=uint8(-8)  %無符號8位整型數據yy生成,由于負數超過其下限,yy值為0
yy =
   0
>> zz=int32(-8)  %有符號32位整型數據zz生成,其值為-8
zz =
      -8
>> whos  %查看工作空間的變量
  Name   Size          Bytes Class
  x     1x1             1 int8 array
  xx    1x1             1 int8 array
  y     1x1             2 uint16 array
  yy    1x1             1 uint8 array
  z     1x1             1 int8 array
  zz    1x1             4 int32 array
Grand total is 6 elements using 10 bytes
>> isinteger(zz) %判斷變量zz數據類型是否為整型
ans =
    1
>> x=zeros(3,'uint8') %全零矩陣的生成,并定義其數據類型為8位無符號整型
x =
    0  0  0
    0  0  0
    0  0  0

intmin()和intmax()函數可用于確定整型數據類型的數據范圍,其中intmin()函數用于求數據類型下限,intmax()函數用于求數據類型上限。函數的調用格式如下所示。

● intmin(classname):指導數據類型下限計算。

● intmax(classname):指導數據類型上限計算。

【例2.2】不同整型數據類型數值范圍計算。

>> intmin('int8')  %有符號8位整型下限計算
ans =
 -128
>>intmax('int8')  %有符號8位整型上限計算
ans =
  127
>> intmin('int32')  %有符號32位整型下限計算
ans =
 -2147483648
>> intmin('uint32')  %無符號32位整型下限計算
ans =
          0
主站蜘蛛池模板: 珠海市| 都昌县| 永康市| 西林县| 甘德县| 岳普湖县| 措勤县| 贵德县| 常宁市| 金坛市| 克什克腾旗| 东乌珠穆沁旗| 缙云县| 广河县| 来凤县| 高安市| 睢宁县| 延津县| 宜川县| 衡阳市| 喀什市| 若羌县| 游戏| 田东县| 山阳县| 吉安市| 皋兰县| 宝兴县| 堆龙德庆县| 民县| 犍为县| 剑川县| 江津市| 连州市| 绵阳市| 萨迦县| 盘锦市| 庆城县| 子长县| 鹤山市| 清流县|