c語言資料型別的三個要素
1、C語言中的資料型別:
2、學習資料型別的三個要素:
1、儲存資料的寬度
2、儲存資料的格式
3、作用範圍(作用域)
3、整數型別:char short int long
char 8BIT 1位元組
short 16BIT 2位元組
int 32BIT 4位元組
long 32BIT 4位元組
#include "stdafx.h"
void Plus(){
char A =0xFF
short B = 0xFF
int C = 0xFF
//在一個大括號裡變數不能重複
}
int main(int argc, char* argv[])
{
Plus()
return 0
}
void Plus(){
00401020 push ebp
00401021 mov ebp,esp
00401023 sub esp,4Ch
00401026 push ebx
00401027 push esi
00401028 push edi
00401029 lea edi,[ebp-4Ch]
0040102C mov ecx,13h
00401031 mov eax,0CCCCCCCCh
00401036 rep stos dword ptr [edi]
7: char A =0xFF
00401038 mov byte ptr [ebp-4],0FFh//區域性變數
8: short B = 0xFF
0040103C mov word ptr [ebp-8],offset Plus+20h (00401040)
9: int C = 0xFF
00401042 mov dword ptr [ebp-0Ch],0FFh
10: //在一個大括號裡變數不能重複
11: }
00401049 pop edi
0040104A pop esi
0040104B pop ebx
0040104C mov esp,ebp
0040104E pop ebp
0040104F ret
有符號和無符號:在記憶體中儲存是完全一樣的,在使用的時候,要告訴計算機是當什麼用。型別轉換--比較大小和數學運算
#include "stdafx.h"
void Plus(){
char i =0xff
unsigned char a=0xff //無符號和無符號 存的是一樣
}
int main(int argc, char* argv[])
{
Plus()
return 0
}
4、浮點型別:float double
7: float i =12.5
00401038 mov dword ptr [ebp-4],41480000h
float和double在儲存方式上都是遵從IEEE的規範的
將一個float型轉化為記憶體儲存格式的步驟為:
1、先將這個實數的絕對值化為二進位制格式
2、將這個二進位制格式實數的小數點左移或右移n位,直到小數點移動到第一個有效數字的右邊。
3、從小數點右邊第一位開始數出二十三位數字放入第22到第0位。
4、如果實數是正的,則在第31位放入“0”,否則放入“1”。
5、如果n 是左移得到的,說明指數是正的,第30位放入“1”。如果n是右移得到的或n=0,則第30位放入“0”。
6、如果n是左移得到的,則將n減去1後化為二進位制,並在左邊加“0”補足七位,放入第29到第23位。
如果n是右移得到的或n=0,則將n化為二進位制後在左邊加“0”補足七位,再各位求反,再放入第29到第23位。
7: float i =0.25F
00401038 mov dword ptr [ebp-4],3E800000h
-2-1=-3 ,FF -1 FE -2FD -3
FD = 1111 1101
0011 1110 1000 0000 0000 0000 0000 0000
3E8000
5、英文字元儲存
ASCII:
1、ASCII 碼使用指定的 7 位或 8 位二進位制數組合來表示 128 或 256 種可能的字元。
2、標準 ASCII 碼使用 7 位二進位制數來表示所有的大寫和小寫字母,數字 0 到 9、標點符號,以及在美式英語中使用的特殊控制字元。
3、擴充套件 ASCII 碼允許將每個字元的第 8 位用於確定附加的 128 個特殊符號字元、外來語字母和圖形符號。
標準ASCLL碼錶擷取:
二進位制 十進位制 十六進位制 字元
0100 0001 65 41 A
0100 0010 66 42 B
0100 0011 67 43 C
0100 0100 68 44 D
0100 0101 69 45 E
0100 0110 70 46 F
0100 0111 71 47 G
0100 1000 72 48 H
0100 1001 73 49 I
0100 1010 74 4A J
0100 1011 75 4B K
0100 1100 76 4C L
0100 1101 77 4D M
0100 1110 78 4E N
0100 1111 79 4F O
0101 0000 80 50 P
0101 0001 81 51 Q
0101 0010 82 52 R
0101 0011 83 53 S
0101 0100 84 54 T
0101 0101 85 55 U
0101 0110 86 56 V
0101 0111 87 57 W
0101 1000 88 58 X
0101 1001 89 59 Y
0101 1010 90 5A Z
6、中文字元儲存
計算機發明之處及後面很長一段時間,只用應用於美國及西方一些已開發國家,ASCII能夠很好滿足使用者的需求。
但是當天朝也有了計算機之後,為了顯示中文,必須設計一套編碼規則用於將漢字轉換為計算機可以接受的數字系統的數。
天朝專家把那些127號之後的奇異符號們(即EASCII)取消掉,規定:一個小於127的字元的意義與原來相同
但兩個大於127的字元連在一起時,就表示一個漢字,前面的一個位元組(他稱之為高位元組)從0xA1用到 0xF7,後面一個位元組
(低位元組)從0xA1到0xFE,這樣我們就可以組合出大約7000多個簡體漢字了。
在這些編碼裡,還把數學符號、羅馬希臘的 字母、日文的假名們都編進去了,連在ASCII裡本來就有的數字、標點、字母都
統統重新編了兩個位元組長的編碼,這就是常說的"全形"字元,而原來在127號以下的那些就叫"半形"字元了。
-
csgo對槍應該走位還是站著不動
應該站著不動。因為csgo一邊走一邊開槍的彈道是模糊的,只有身體停止移動的時候彈道才是穩定的,彈道不穩就不能準確的瞄準命中敵人。拿部分衝鋒槍例如野牛可以一邊跑一邊打,因為子彈多可以形成火力壓制讓對方不敢露頭。...
-
炒泡椒兔做法
主料:兔肉1000g輔料:泡紅椒適量,蒜適量,蔥適量,食鹽適量,花椒適量,白砂糖少許做法步驟:1、油燒熱至七成熟,放入花椒和糖,煸香,倒入姜和蒜爆香。2、倒入大量的泡椒,一定要大量的,不要吝嗇,川菜的一大特點就是輔料遠比主料多!3、用大火使勁的翻炒,一定要炒出泡椒的香味。一定...
-
京東快遞為什麼五六天不動
我們在網路上進行了網購,就會有相應的快遞公司承擔快遞運送業務。如果我們在京東上購買了物品,京東快遞五六天沒有什麼快遞運送訊息。首先現在最常見的就是由於疫情的原因會導致快遞延遲傳送,還有各種極端災害天氣,比如洪水等情況也會導致快遞傳送延遲。如果發現京...
-
龍湖青雲闕的樓為什麼要斜著蓋
因為這種樓是種特殊的結構型式。南向低北向高。從南開始往北層層升高。有把這種樓戲稱步步高昇樓型。外觀上比較有吸引性,觀賞性也不錯。明顯優勢是採光條件相當充沛。每層提升幅度特別大。出現了更多的通天普照的頂層樓。這種摟都是斜蓋的。...