檢視keil arm各種資料型別占用的位元組數
筆者正在學習ucos-ii,移植到arm時考慮到資料型別的定義,但對於keil mdk編譯器的資料型別定義還是很模糊,主要就是區分不了short int、int、long 和long int占用多少位元組。為了得到乙個權威的答案,改用編譯器自身得出。
一、先定義幾個變數,用於存放各資料型別的位元組數。
#include
unsigned char a,b,c,d,e,f,g;
main()
二、檢視各變數的存放位址。view---watch1。
由上圖可知得出:
char占用1個位元組
short int占用2位元組
int占用4位元組
long占用4位元組
long int占用4位元組
float占用4位元組
double占用8
位元組我們即可這樣定義巨集:
typedef unsigned char uint8; // 無符號8位整型變數
typedef signed char int8; // 有符號8位整型變數
typedef unsigned short uint16; // 無符號16位整型變數
typedef signed short int16; // 有符號16位整型變數
typedef unsigned int uint32; // 無符號32位整型變數
typedef signed int int32; // 有符號32位整型變數
typedef float fp32; // 單精度浮點數(32位長度)
typedef double fp64; // 雙精度浮點數(64位長度)
各種資料型別OuO
char 1 個位元組 128 到 127 或者 0 到 255 unsigned char 1 個位元組 0 到 255 signed char 1 個位元組 128 到 127 int4 個位元組 2147483648 到 2147483647 unsigned int 4 個位元組 0 到 4...
Qt 各種資料型別轉換
1 qstring string qstring.tostdstring 2 string qstring qstring fromstdstring string 3 qstring int,double,char qstring toint qstring todouble qstring.to...
C 各種資料型別轉換
在在做一些互操作的時候往往需要一些型別的相互轉換,比如用c 訪問win32api的時候往往需要向api中傳入dword引數 即 uint引數這些數值所表示的資料在實際的應用中可能需要以字元的形式顯示,但是c 對api的關係無法跟c 相比,所以在c 中進行一些型別資料的轉換十分必要了,下面將用到的一些...