當前位置:首頁 » 存儲配置 » 負數壓縮存儲

負數壓縮存儲

發布時間: 2022-06-14 00:12:30

❶ 電腦基本知識

計算機基礎知識(看書2.1-2.5)P8--P29,做課後練習

把書上相關內容劃線,回家背誦,記牢!

計算機的產生與發展

計算機的產生是20世紀最重要的科學技術大事件之一。1946年美國賓夕法尼亞大學經過幾年的艱苦努力,研製出世界上第一台電子計算機--埃尼阿克(ENIAC)。

一、 計算機的發展史:

根據計算機所採用的物理器件不同,可分為四個階段。
第一代:電子管計算機,開始於1946年,結構上以CPU為中心,使用機器語言,速度慢、存儲量小,主要用於數值計算。
第二代:晶體管計算機,開始於1958年,結構上以存儲器為中心,使用高級語言應用范圍擴大到數據處理和工業控制。
第三代:中小規模集成電路計算機,開始於1964年,結構上仍以存儲器為中心,增加了多種外部設備,軟體得到一定發展,計算機處理圖像、文字和資料功能加強。
第四代:大、超大規模集成電路計算機,開始於1971年,應用更加廣泛,出現了微型計算機。

計算機硬體發展的同時,軟體始終伴隨其步伐迅猛發展,就計算機的編程語言而言,也劃分為三代。
第一代:機器語言。每條指令用二進制編碼,效率很低。
第二代:匯編語言。用符號編程,和具體機器指令有關,效率不高。
第三代:高級語言:如FORTRAN、COBOL、BASIC、PASCAL等都屬於高級語言。

二、我國計算機的發展

我國從1956年開始電子計算機科研和教學工作。
1983年12月研製成功每秒運行1億次的"銀河"巨型計算機;
1992年11月研製成功每秒運行10億次的"銀河Ⅱ"巨型計算機;
1997年研製成功每秒運行130億次的"銀河Ⅲ"巨型計算機。

三、計算機的發展趨勢

計算機的發展向微型化和巨型化、多媒體化和網路化方向發展。

計算機的基本概念
計算機內所有的信息都是以二進制的形式表示的,單位是位。

位:計算機只認識由0或1組成的二進制數,二進制數中的每個0或1就是信息的最小單位,稱為"位"(bit)。

位元組:是衡量計算機存貯容量的單位。一個8位的二進制數據單元稱一個位元組(byte)。在計算機內部,一個位元組可以表示一個數據,也可以表示一個英文字母或其他特殊字元,二個位元組可以表示一個漢字。

字:在計算機中,作為一個整體單元進行存貯和處理的一組二進制數。一台計算機,字的二進制數的位數是固定的。

字長:一個字中包含二進制數位數的多少稱為字長。字長是標志計算機精度的一項技術指標。

存貯器編址:為了便於對計算機內的數據進行有效的管理和存貯,需要對內存單元編號,即給每個存貯單元一個地址。每個存貯單元存放一個位元組的數據。 如果需要對某一個存貯單元進行存貯,必須先知道該單元的地址,然後才能 對該單元進行信息的存取。

注意:存貯單元的地址和存貯單元中的內容是不同。

指令:指揮計算機進行基本操作的命令。

指令系統:一種計算機所能執行的全部指令的集合。

程序:按一定處理步驟編排的,能完成一定處理能力的指令序列。

計算機系統

計算機系統是由硬體系統和軟體系統所組成的。

一、計算機的硬體系統

硬體系統由輸入設備、輸出設備、存儲器、運算器和控制器組成。
其中運算器和控制器結合在一起,稱為中央處理器(CPU)
CPU(即運算器和控制器)和存儲器合稱為主機。

輸入設備:常見有鍵盤、滑鼠、掃描儀等
輸出設備:常見有顯示器、列印機和繪圖儀等;
中央處理器:又稱CPU,它包括運算器和控制器。是計算機的核心部分。
我們平時所說的486、586、奔騰Ⅲ、奔騰Ⅳ指的是CPU的檔次。
運算器:可以進行算術運算和邏輯運算;
控制器:是計算機的指揮系統,它的操作過程是取指令--分析指令,循環執行。
存儲器:具有記憶功能的物理器件,用於存儲信息。分為內存和外存。
內存:是半導體存儲器,分為只讀存儲器(ROM)和隨機存儲器(RAM)。
ROM只可讀出,不能寫入,斷電後內容還在;
RAM可隨意寫入讀出,但斷電後內容不存在。
外存:磁性存儲器(軟盤和硬碟);光電存儲器(光碟),可以作為永久性存儲器。
存儲器的兩個重要指標:存取速度和存儲容量。內存的存取速度最快,軟盤最慢。存儲容量是存儲的信息量,它用位元組(Byte)作為基本單位,1個位元組用8位二進制數表示,1KB=1024B,1MB=1024KB,1GB=1024MB。

二、計算機的軟體系統

計算機軟體系統分為系統軟體和應用軟體兩大類。

系統軟體:為了使用和管理計算機的軟體;主要操作系統軟體有Windows95/98/2000/NT, DOS, UCDOS,MS-DOS,Unix,,OS/2,Linux等。其中,WINDOWS是多任務可視化圖形界面,DOS是字元命令形式的單任務操作系統。
應用軟體:為了某個應用目的而編寫的軟體,主要有輔助教學軟體,輔助設計軟體、文字處理軟體、工具軟體以及其它的應用軟體。

三、計算機的工作原理:

到目前為止,電子計算機的工作原理均採用馮·諾依曼的存儲程序,並自動完成程序的設計思想.其工作過程如下圖所示:

需要注意的是:程序中的數據,指令都採用數字化編碼方式,保存在存儲器中;程序中的指令必須是屬於這台機器的指令系統.

四、計算機病毒

計算機病毒是一種程序,是人為設計的具有破壞性的程序.它往往使計算機不能正常工作.計算機病毒具有破壞性,傳播性,可激發性,潛伏性,隱蔽性等特點.由於計算機病毒危害極大,需要注意隔離計算機病毒的來源,經常用殺病毒軟體檢查計算機系統和存儲器.

計算機中有關數,編碼的基本常識

(一)1.計算機是智能化的電器設備
計算機就其本身來說是一個電器設備,為了能夠快速存儲,處理,傳遞信息,其內部採用了大量的電子元件,在這些電子元件中,電路的通和斷,電壓高低,這兩種狀態最容易實現,也最穩定,也最容易實現對電路本身的控制.我們將計算機所能表示這樣的狀態,用0,1來表示,即用二進制數表示計算機內部的所有運算和操作.

2.二進制數的運演算法
二進制數運算非常簡單,計算機很容易實現,其主要法則是:
0+0=0 0+1=1 1+0=1 1十1=10; 0 x 0=0 0 xl=0 1x 0= 0 1xl=1
由於運算簡單,電器元件容易實現,所以計算機內部都用二進制編碼進行數據的傳送,計算.

3.十進制與二進制,八進制,十六進制數之間的相互轉換

(1)數的進制與基數.
計數的進制不同,則它們的基數也不相同,如表1-l所示.
進制
基數
十進制數
典型示例(轉換)
二進制
0,1
10,7,23
1010,111,10111
三進制
0,1,2
10,7,23
101,21,212
四進制
0,1,2,3
10,7,23
22,13,113
八進制
0,1,2,3,4,5,6,7
10,63,126
12,77,176
十進制
0,1,2,3,4,5,6,7,8,9
十六進制
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
10,63,254
A,3F,15E

(2)數的權
不同進制的數,基數不同,其每位上所代表的值的大小也不相同,我們稱之為"權"
①十進制數,逢十進一.如,(219)10=2x102+1x101+9x100
②二進制數,逢二進一.如,(11010)2=lx24+lx23+0x22+lx21+0x20=26
③八進制數,逢八進一.如,(273)8= 2x82+7x81+3x80=187
④十六進制數,逢十六進一.如,(27B)16=2x162+7x161+11x160=635
從以上的計算中,可以看到,進制不同,基數不同,每位上權值大小也不相同,數值大小也不相同.
(3)十進制數轉換成任意進制數
將十進制數轉換成任意進制數的基本方法是:將十進制數除以所定的進制數反向取余.
例如:
①將39用二進制數表示,用如下的短除法,求余數,並反向取余.如果轉換成二進制還可以用右邊的2的N次冪表示.
短除法 39==>(100111)2
②將245用八進制數表示,我們可以用如下的短除法,求余數,並反向取余.
想一想,為什麼要反向取余.對於十進制小數要轉換成其他進制的數,則是不斷將小數部分乘以進制數取整,作為轉換後的小數部分,直到為零或精確到小數點後幾位.如: (0.35)10≈(0.01011)2 (0.125)10=(0.001)2
(4)任意進制的數轉換成十進制數
將任意進制數轉換成十進制數的基本方法是按權展開,見(2)數的權內容.

(二)ASCII碼 ( American Standard Code for Information Interchange )
美國的標准信息交換代碼
將每個字元用7位的二進制數來表示,共有128種狀態

大小字母,0…9,其它符號,控制符
' 0 ' ―― 48 ' A ' ―― 65 ' a ' ―― 97

(三)漢字信息編碼
漢字輸入碼
漢字輸入方法大體可分為:區位碼(數字碼),音碼,形碼,音形碼.
· 區位碼:優點是無重碼或重碼率低,缺點是難於記憶;
· 音碼:優點是大多數人都易於掌握,但同音字多,重碼率高,影響輸入的速度;
· 形碼:根據漢字的字型進行編碼,編碼的規則較多,難於記憶,必須經過訓練才能較好地掌握;重碼率低
· 音形碼:將音碼和形碼結合起來,輸入漢字,減少重碼率,提高漢字輸入速度;
2.漢字交換碼
漢字交換碼是指不同的具有漢字處理功能的計算機系統之間在交換漢字信息時所使用的代碼標准.自國家標准GB2312-80公布以來,我國一直延用該標准所規定的國標碼作為統一的漢字信息交換碼.
GB2312-80標准包括了6763個漢字,按其使用頻度分為一級漢字3755個和二級漢字3008個.一級漢字按拼音排序,二級漢字按部首排序.此外,該標准還包括標點符號,數種西文字母,圖形,數碼等符號682個.
區位碼的區碼和位碼均採用從01到94的十進制,國標碼採用十六進制的21H到73H(數字後加H表示其為十六進制數).區位碼和國標碼的換算關系是:區碼和位碼分別加上十進制數32.如"國"字在表中的25行90列,其區位碼為2590,國標碼是397AH.
* 由於GB2312-80是80年代制定的標准,在實際應用時常常感到不夠,所以,建議處理文字信息的產品採用新頒布的GB18030信息交換用漢字編碼字元集,這個標准繁,簡字均處同一平台,可解決兩岸三地間GB碼與BIG5碼間的字碼轉換不便的問題.
3.字形存儲碼
字形存儲碼是指供計算機輸出漢字(顯示或列印)用的二進制信息,也稱字模.通常,採用的是數字化點陣字模.
一般的點陣規模有16×16,24×24,64×64等,每一個點在存儲器中用一個二進制位(bit)存儲.例如,在16×16的點陣中,需8×32 bit 的存儲空間,每8 bit為1位元組,所以,需32位元組的存儲空間.在相同點陣中,不管其筆劃繁簡,每個漢字所佔的位元組數相等.
為了節省存儲空間,普遍採用了字形數據壓縮技術.所謂的矢量漢字是指用矢量方法將漢字點陣字模進行壓縮後得到的漢字字形的數字化信息.

(四)其它信息的數字化
圖像信息的數字化
一幅圖像可以看作是由一個個像素點構成,圖像的信息化,就是對每個像素用若干個二進制數碼進行編碼.圖像信息化後,往往還要進行壓縮.
圖像文件的後綴名有:bmp,gif,jpg,pdf等;
聲音信息的數字化
自然界的聲音是一種連續變化的模擬信息,可以採用A/D轉換器對聲音信息進行數字化.
聲音文件的後綴名有:wav,mp3,mid等;
視頻信息的數字化
視頻信息可以看成連續變換的多幅圖像構成,播放視頻信息,每秒需傳輸和處理25幅以上的圖像.視頻信息數字化後的存儲量相當大,所以需要進行壓縮處理.
視頻文件後綴名有:avi,mpg等;

機器數與真值
數有正,負兩種,在計算機中數的符號是用數碼表示的.一般情況下,用0表示正數,用1表示負數.通常符號位放在數的最高位.
機器數:連同符號位在一起作為一個數,稱為機器數.
真值數:一個數的數值部分稱為真值數.
如:x1=+1011011 x2=-1011011, 則X1的機器數是01011011,真值數是+1011011,X2的機器數是11011011,真值數是-1011011.

(一)數的定點表示和浮點表示
(1) 定點小數格式
任何一個M位的小數可以表示成:
N=Ns . N-1N-2…N-m (其中Ns 是符號位,其值表示的范圍|N|<=1-2-m)
(2) 定點整數格式
任何一個N位帶符號的整數都可表示為:
N=Ns Nn-1Nn-2…N0 (其中Ns 是符號位,其值表示的范圍|N|<=2n-1)
(3) 數的浮點表示
浮點數是指小數點在數據中的位置可以左右移動的數.一個數N要用浮點表示可以寫成:N=M·RE 其中M表示浮點數的尾數,E表示浮點數的指數或稱為階碼,R指的是在這個指數下的基數.浮點數通常表示成如下格式:
Ms
E
M
1位 m位 n位
M:浮點數的尾數,用定點小數表示,小數點在尾數最高位之前,是默認的.尾數用於表示浮點數的有效位,其位數N的大小反映了此浮點數的精度.
E:浮點數的階碼,用定點整數表示.
Ms:浮點數的符號位,也就是尾數的符號位,一般放在整個浮點數的最高位.
(4)浮點數的規格化
當尾數用二進制數表示時,浮點規格化數定義尾數S應滿足下面關系:
(I)對於正數,S應大於等於1/2,小於1,用二進制數表示為:
S=0.1******…(其中*為0或1)
(II)對於負數,如果尾數用原碼表示,S應小於等於-1/2,大於-1,表示為:
S=1.1******…(其中*為0或1)
(III)機器零:當一個浮點數的尾數為0,不論其階碼為何值;或階碼的值遇到比它能表示的最小值還小時,不管其尾數為何值,計算機都把該浮點數看成零,即把階碼尾數全變為0,稱它為機器0.

(二)二進制數值數據的編碼方法
最常用的編碼方法有原碼表示法,補碼表示法和反碼表示法三種.
1,原碼表示法
用機器數的最高(最左)一位代表符號,其餘各位給出數值的絕對值.
[X]原=符號位+|X|(0代表正號,1代表負號)
真值零的原碼表示法,有正零和負零兩種表示:
[+0]原=00000 [-0]原=10000
2,補碼表示法
如果X為正數,則:[X]補=[X]原
如果X為負數,則:[X]補=(把[X]原 除符號位外,其餘各位全變反(0變1,1變0),再在最末位加1 )
[+0]補=[-0]補=0000
同理有:如果X為負數,則:[X]原=(把[X]補 除符號位外,其餘各位全變反(0變1,1變0),再在最末位加1 )
3,反碼表示法
如果X為正數,則:[X]反=[X]原
如果X為負數,則:[X]反=(把[X]原 除符號位外,其餘各位全變反(0變1,1變0))
[+0]反=00000 [-0]反=11111
可見,如果真值X=0,則[X]補 有唯一的編碼,[X]原 和 [X]反 都有兩個不同的編碼.
2 39
2 19 ……1
2 9 ……1
2 4 ……1
2 2 ……0
2 1 ……0
2 0 ……1
2的N次冪表示:(39)10=(100111)2= lx25+0x24+0x23+1x22+lx21+1x20
16×16點表示

❷ 我資料庫的日誌大小怎麼是負數

1、用BACKUP LOG database WITH NO_LOG清除日誌
把資料庫屬性中的故障還原模型改為「簡單」可以大大減慢日誌增長的速度。
如果把還原模型調到簡單,這樣就不支持時間點還原了,但是日誌文件會很小,如果數據比較重要推薦還是把資料庫的還原模型調為完全
用BACKUP LOG database WITH NO_LOG命名後,會截斷不活動日誌,不減小物理日誌文件的大小,但邏輯日誌會減小,收縮資料庫後會把不活動虛擬日誌刪除來釋放空間,不會損壞數據。
如果日誌被截斷並收縮資料庫後,就不能直接用最近的一個全庫備份做時間點還原,建議立即備份資料庫,以防萬一。
2、sql server運行中,是否能刪除主資料庫事務日誌文件
步驟如下:(1)、分離資料庫企業管理器--資料庫--右擊你要刪除日誌的資料庫--所有
任務--分離資料庫
(2)、然後刪除日誌文件
(3)、然後再附加資料庫
企業管理器--資料庫--右擊資料庫--所有任務--附加資料庫這時候只附加。mdf就可以了。
3、壓縮SQL資料庫及日誌的詳細方法
SQL Server 2000基礎教程——壓縮資料庫資料庫在使用一段時間後,時常會出現因數據刪除而造成資料庫中空閑空間太多的情況,這時就需要減少分配給資料庫文件和事務日誌文件的磁碟空間,以免浪費磁碟空間。當資料庫中沒有數據時,可以修改資料庫文件屬性直接改變其佔用空間,但當資料庫中有數據時,這樣做會破壞資料庫中的數據,因此需要使用壓縮的方式來縮減資料庫空間。可以在資料庫屬性選項中選擇「Auto shrink」選項,讓系統自動壓縮資料庫,也可以用人工的方法來壓縮。人工壓縮資料庫有以下兩種方式:
1、用Enterprise Manager 壓縮資料庫
在Enterprise Manager 中在所要壓縮的資料庫上單擊右鍵,從快捷菜單中的「所有任務(All Tasks)」中選擇「Shrink Database(壓縮資料庫)」選項,就會出現如圖6-10 所示的對話框。可以在圖6-10 所示的對話框中選擇資料庫的壓縮方式,也可以選擇使用壓縮計劃或壓縮單個文件單擊圖6-10 中的「Files」按鈕,會出現如圖6-11 所示的壓縮資料庫文件對話框,可以針對每個資料庫文件進行不同的壓縮設置。

單擊圖6-10 中的「Change」 按鈕,會出現如圖6-12 所示的壓縮計劃編輯對話框,可以指定壓縮計劃的執行方式。單擊圖6-12 中的「Change」 按鈕,會出現如圖6-13 所示的循環工作計劃編輯對話框,可以編輯計劃執行的周期或時間點。設置完成後單擊「OK」 按鈕就開始壓縮資料庫,在壓縮結束後會顯示一個壓縮情況信息框。

2、用Transact-SQL 命令壓縮資料庫
可以使用DBCC SHRINKDATABASE 和DBCC SHRINKFILE 命令來壓縮資料庫。其中DBCC SHRINKDATABASE 命令對資料庫進行壓縮,DBCC SHRINKFILE 命令對資料庫中指定的文件進行壓縮。
(1) DBCC SHRINKDATABASE
DBCC SHRINKDATABASE 命令語法如下:
DBCC SHRINKDATABASE (database_name [, target_percent]
[, {NOTRUNCATE | TRUNCATEONLY}] )
各參數說明如下:
·target_percent 指定將資料庫壓縮後,未使用的空間占資料庫大小的百分之幾。如果指定的百分比過大,超過了壓縮前未使用空間所佔的比例,則資料庫不會被壓縮。並且壓縮後的資料庫不能比資料庫初始設定的容量小。
·NOTRUECATE
將資料庫縮減後剩餘的空間保留在資料庫,中不返還給操作系統
。如果不選擇此選項,則剩餘的空間返還給操作系統。
·TRUNCATEONLY
將資料庫縮減後剩餘的空間返還給操作系統。使用此命令時SQL Server 將文件縮減到最後一個文件分配,區域但不移動任何數據文件。選擇此項後,target_percent 選項就無效了。例6-14: 壓縮資料庫mytest 的未使用空間為資料庫大小的20%

dbcc shrinkdatabase (mytest, 20)
運行結果如下:
DBCC execution completed. If DBCC printed error
messages, contact your system administrator.
(2) DBCC SHRINKFILE
DBCC SHRINKFILE 命令壓縮當前資料庫中的文件。其語法如下:
DBCC SHRINKFILE ( {file_name | file_id }
{ [, target_size] |
[, {EMPTYFILE | NOTRUNCATE | TRUNCATEONLY}] } )
各參數說明如下:
·file_id
指定要壓縮的文件的鑒別號(Identification number, 即ID)
。文件的ID 號可以通過 FILE_ID()函數或如本章前面所講述
的Sp_helpdb 系統存儲過程來得到。
·target_size
指定文件壓縮後的大小。以MB 為單位。如果不指定此選項,SQL Server 就會盡最大可能地縮減文件。
·EMPTYFILE
指明此文件不再使用,將移動所有在此文件中的數據到同一文件組中的其它文件中去。執行帶此參數的命令後,此文件就可以用ALTER DATABASE 命令來刪除了。 其餘參數NOTRUNCATE 和TRUNCATEONLY 與DBCC SHRINKDATABASE
命令中的含義相同。 例6-15: 壓縮資料庫mydb 中的資料庫文件mydb_data2 的大小到1MB。 use mydb dbcc shrinkfile (mydb_data2, 1)

企業管理器裡面的方法:
1、打開企業管理器
2、打開要處理的資料庫
3、點擊最上面菜單>工具>SQL查詢分析器,打開SQL查詢分析器
4、在輸入窗口裡面輸入:
Code:
DUMP TRANSACTION [資料庫名] WITH NO_LOG
BACKUP LOG [資料庫名] WITH NO_LOG
DBCC SHRINKDATABASE([資料庫名])

點擊綠色的小三角(或按F5)執行查詢,等狀態欄提示處理完成
即可!

程序裡面的方法:
壓縮資料庫日誌
--1.清空日誌
exec('DUMP TRANSACTION ['+@dbname+'] WITH NO_LOG')
--2.截斷事務日誌:
exec('BACKUP LOG ['+@dbname+'] WITH NO_LOG')
--3.收縮資料庫文件(如果不壓縮,資料庫的文件不會減小
exec('DBCC SHRINKDATABASE(['+@dbname+'])')

4、減小日誌的方法:
一、用如下步做了:
1、DUMPTRANSACTION庫名WITHno_log
2、dbcc shrinkfile(logfilename)
3、收縮資料庫
4、設定自動收縮。
二、分離資料庫,刪除日誌文件,再附加,OK!右擊資料庫--所有任務--分離or 附加
三、1、backup log庫名WITHno_log,2、dbcc shrinkfile(logfilename),3、收縮資料庫
4、設定自動收縮。

❸ 使用Ghost後硬碟空間丟失

用tuneup 2006進行磁碟清理、修理注冊表
搜索C:盤中大於500M的文件
多方面試一試吧!
以後想刪除pagefile,可以在我的電腦屬性里,設置C:的葉面文件為0,在其他盤上設置pagefile,之後再備份;麻煩了點,但很可靠!

❹ 負利率對於商業銀行的經營活動都有哪些挑戰

負利率實在不是一件小事,因為整個現代金融體系的建立都是建立在利率為正的假設上的。正如在另一個回答里說的,丹麥現在處於負利率的情況,不僅存款利率理論上已經是負的了,貸款利率都出現了負值,簡單說說我的看法吧:

1) 現在我們都是在討論的名義利率,因為歐洲目前很多國家面臨通縮的問題,所以實際利率並不一定是負數。

2) 如果銀行的存款利率為負數,那為什麼還有人把錢存到銀行? 好吧,首先,在北歐這些福利國家,本來儲蓄率就不高,這個負利率倒沒有對銀行的存款規模產生那麼大的影響。另外很多人將現金以北歐貨幣存在北歐銀行里的目的也是為了避險,對於利率沒有那麼敏感。

3)要考慮到一個問題是,在現代歐洲社會(尤其是北歐),是一個「無現金」的社會,也就是說幾乎沒有什麼地方是需要用到現金消費的,使用信用卡或者銀行卡要遠比現金方便得多。甚至如果一個人一直在使用現金消費,會引起店員和警察的懷疑。那麼從這個角度來說,負利率可以看成是客戶為了獲得進入現代支付系統的便利而付出的成本。。在這個角度上來說,利率已經不再是利率了,而類似於大宗商品里的存儲成本。(今天我看有市場評論瑞士發行10年負利率債券的時候也有人在說,某些避險貨幣的市場已經跟大宗商品很像了)

4)如果信用質量很好的話,現在確實有可能從銀行貸到利率為負的貸款。但是只要銀行的融資成本低於貸款價格,銀行還是有錢賺的。

5)負利率摧毀了銀行在過去三十年來建立的各種利率模型,因為幾乎所有的利率模型都在假設利率會一直是個正數(如Black Model)。甚至現在翻開一些教科書,都能看到對一些short rate model (比如Vasicek)的批評都是可能出現負利率。。。所以包括我在內的各種quant都在忙著更新模型,重建系統,做各種測試。

6)負利率對利率衍生產品市場有非常大的影響,包括之前提的利率模型部分,也包括產品設計。

❺ 高分請教!存儲器方面

第二章 企業信息的儲存和處理
信息時代的核心無疑是信息技術,而信息技術的核心則在於信息的處理與存儲。

2.1 數據表示
2.1.1 信息、數字和字元的表示
1.信息表示
存儲數據的邏輯部件有兩種狀態,即高電位和低電位,分別與"1"和"0"相對應。在計算機中,如果一種電位狀態表示一個信息單元,那麼一位二進制數可以表示兩個信息單元。若使用2位二進制數,則可以表示4個信息單元;使用3位二進制數,可以表示8個信息單元。二進制數的位數和可以表示的信息單元之間存在著冪次數的關系。也就是說,當用n位二進制數時,可表示的不同信息單元個數為2 個。

反之,如果有18個信息單元需要表示,那麼應該用幾位二進制數呢?若用4位二進制數,可表示的信息單元為16個;若用5位二進制數,可表示的信息為32個單元。所以要表示18個信息單元的數據,至少需要用5位二進制數。

計算機在存儲數據時,常常把8位二進制數看作一個存儲單元,或稱為一個位元組。用2 來計算存儲容量,把 (即1024)個存儲單元稱為1K位元組;把 K(即1024 K)個存儲單元稱為1M位元組;把 M(即1024M)個存儲單元稱為1G位元組。

2.數字表示
通過二進制格式來存儲十進制數字,也即存儲數值型數據。表示一個數值型數據,需要解決三個問題。

首先,要確定數的長度。在數學中,數的長度一般指它用十進製表示時的位數,例如258為3位數、124578為6位數等。在計算機中,數的長度按二進制位數來計算。但由於計算機的存儲容量常以位元組為計量單位,所以數據長度也常按位元組計算。需要指出的是,在數學中數的長度參差不一,有多少位就寫多少位。在計算機中,如果數據的長度也隨數而異,長短不齊,無論存儲或處理都很不便。所以在同一計算機中,數據的長度常常是統一的,不足的部分用"0" 填充。

其次,數有正負之分。在計算機中,總是用最高位的二進制數表示數的符號,並約定以"0"代表正數,以"1"代表負數,稱為數符;其餘仍表示數值。通常,把在機器內存放的正負號數碼化的數稱為機器數,把機器外部由正負號表示的數稱為真值數。若一個數佔8位,真值數為(-0101100)B,其機器數為10101100,存放在機器中的見圖2.1.1

圖2.1.1 存放在機器中的數
機器數表示的范圍受到字長和數據的類型的限制。字長和數據類型確定了,機器數能表示的范圍也定了。例如,若表示一個整數,字長為8位,最大值01111111,最高位為符號位,因此此數的最大值為127。若數值超出127,就要"溢出"。

再者是小數點的表示。在計算機中表示數值型數據,小數點的位置總是隱含的,以便節省存儲空間。隱含的小數點位置可以是固定的,也可以是可變的。前者稱為定點數,後者稱為浮點數。

1) 定點數表示方法:
定點整數,即小數點位置約定在最低數值位的後面,用於表示整數。

整數分為帶符號和不帶符號的兩類。對於為帶符號的整數,符號位放在最高位。整數表示的數是精確的,但數的范圍是有限的。根據存放的字長,它們可以用8、16、32位等表示,各自表示數的范圍見表2.1.1。
表2.1.1 不同位數和數的表示範圍
二進制位數 無符號整數的表示範圍 有符號整數的表示範圍
8
16
32

如果把有符號整數的長度擴充為4位元組,則整數表示範圍可從±32767擴大到±2147483647≈0.21×1010,即21億多。但每個數佔用的存儲空間也增加了一倍。

定點小數,即小數點位置約定在最高數值位的前面,用於表示小於1的純小數。

如用定點數表示十進制純小數-0.6876,則為-0.101100000000011…。數字-0.6876的二進制數為無限小數,故存儲時只能截取前15位,第16位開始略去。

若2個位元組長度用來表示定點小數,則最低位的權值為2-15(在10-4 ~10-5之間),即至多准確到小數點後的第4至第5位(按十進制計算)。這樣的范圍和精度,即使在一般應用中也難以滿足需要。為了表示較大或較小的數,用浮點數表示。

2)浮點數表示方法:
在科學計算中,為了能表示特大或特小的數,採用"浮點數"或稱"科學表示法"表示實數,"浮點數"由兩部分組成,即尾數和階碼。例如, ,則0.23456為尾數,5是階碼。

在浮點表示方法中,小數點的位置是浮動的,階碼可取不同的數值。為了便於計算機中小數點的表示,規定將浮點數寫成規格化的形式,即尾數的絕對值大於等於0.1並且小於1,從而唯一規定了小數點的位置。尾數的長度將影響數的精度,其符號將決定數的符號。浮點數的階碼相當於數學中的指數,其大小將決定數的表示範圍。

同樣,任意二進制規格化浮點數的表示形式為:

其中 是尾數,前面的" "表示數符; 是階碼,前面的" "表示階符。它在計算機內的存儲形式如圖2.1.2所示。

階符 階碼 數符 尾數
圖2.1.2 浮點數的存儲格式
例如,設尾數為8位,階碼為6位;則二進制數 ,浮點數的存放形式見圖2.1.3。

圖2.1.3 的存放
3)原碼、反碼和補碼表示法
"原碼"編碼方式
以上介紹的定點和浮點表示,都是用數據的第一位表示數的符號,用其後的各位表示數(包括尾數與階碼)的絕對值。這種方法簡明易懂,但因運算器既要能作加法,又要能作減法,操作數中既有正數,又有負數,所以原碼運算時常伴隨許多判斷。例如兩數相加,若符號不同,實際要做減法;兩數相減,若符號相異,實際要做加法,等等。其結果是,增加運算器的復雜性,並增加運算的時間。

"補碼"和"反碼"編碼方式
怎樣處理負數?由此提出了"補碼"、"反碼"等編碼方法.補碼運算的主要優點,是通過對負數的適當處理,把減法轉化為加法。不論求和求差,也不論操作數為正為負,運算時一律只做加法,從而大大簡化加減運算。補碼運算通常通過反碼運算實現。所以對算術運算的完整討論不僅應包括數值,還應該包括碼制(原、反、補碼等)。

3.字元表示:
字元編碼是指用一系列的二進制數來表示非數值型數據(如字元、標點符號等)的方法,簡稱為編碼。表示26個英文字母,用5個二進制位已足夠表示26個字元了。但是,每個英文字母有大小寫之分,還有大量的標點符號和其他一些特殊符號(如$、#、@、&、+等)。把所有的符號計算在一起,總共有95個不同的字元需要表示。使用最廣泛的三種編碼方式是ASCII、ANSI和EBCDIC碼,第四種編碼方式Unicode碼正在發展中。

1) ASCII(American Standard Code for Information Interchange,美國信息交換標准碼)是使用最廣的。使用ASCII碼編碼的文件稱為ASCII文件。標準的ASCII編碼使用7個二進制數來表示128個符號,包括英文大小寫字母、標點符號、數字和特殊控制符。

2) ANSI(American National Institute,美國國家標准協會)編碼使用8位二進制數來表示每個字元。8個二進制數能表示256個信息單元,因此,該編碼可以對256個字元、符號等進行編碼。ANSI開始的128個字元的編碼和ASCII定義的一樣,只是在最高位上加個0。例如,在ASCII編碼中,字元"A"表示為1000001,而在ANSI編碼中,則用01000001表示。除了表示ASCII編碼中的128個字元外,ANSI編碼還有128個符號可以表示,如版權符、英鎊符、外國語言字元等。

3)EBCDIC(Extended Binary-Coded Decimal Interchange Code,擴展二、十進制交換碼)是IBM公司為它的大型機開發的8位字元編碼。值得注意的是,在EBCDIC編碼開始的128個字元中,EBCDIC的編碼和ASCII或ANSI的編碼並不相同。

總的來說,標準的ASCII編碼定義的128個字元,對於表示數字、字元、標點符號和特殊字元來說是足夠了。ANSI編碼表示了所有的ASCII編碼所表示的128個字元,並且還表示了歐洲語言中的字元。EBCDIC編碼表示了標準的字元和控制代碼。但是,沒有一種編碼方案支持可選的字元集,也不支持非字母組合起來的語言,如漢語、日語等。

4)Unicode編碼是一組16位編碼,可以表示超過65000個不同的信息單元。從原理上講,Unicode可以表示現在正在使用的、或者已經不再使用的任何語言中的字元。對於國際商業和通信來說,這種編碼方式是非常有用的,因為在一個文件中可能需要包含有漢語、日語、英語等不同的語種。並且,Unicode編碼還適用於軟體的本地化,即可以針對特定的國家修改軟體。另外,使用Unicode編碼,軟體開發人員可以修改屏幕的提示、菜單和錯誤信息提示等,來適用於不同國家的語言文字。

2.1.2圖像數據和視頻數據的表示
兩種非常不同的圖形編碼方式,即點陣圖編碼和矢量編碼方式。兩種編碼方式的不同,影響到圖像的質量、存儲圖像的空間大小、圖像傳送的時間和修改圖像的難易程度。視頻是圖像數據的一種,由若干有聯系的圖像數據連續播放而形成。人們一般講的視頻信號為電視信號,是模擬量;而計算機視頻信號則是數字量。

1.點陣圖圖像:
點陣圖圖像是以屏幕上的像素點位置來存儲圖像的。 最簡單的點陣圖圖像是單色圖像。單色圖像只有黑白兩種顏色,如果某像素點上對應的圖像單元為黑色,則在計算機中用0來表示;如果對應的是白色,則在計算機中用1來表示。

對於單色圖像,用來表示滿屏圖像的圖像單元數正好與屏幕的像素數相等。如果水平解析度為640,垂直解析度為480,將屏幕的水平解析度與垂直解析度相乘: 640×480=307200,則屏幕的像素數為307200個,因為單色圖像使用一位二進制數來表示一個像素,所以存儲一幅滿屏的點陣圖圖像的位元組數也就能計算出來: 307200÷8=38400,因此解析度為640×480的滿屏單色圖像需要38400個位元組來存儲,這個存儲空間不算大。但是單色圖像看起來不太真實,很少使用。

灰度圖像要比單色圖像看起來更真實些。灰度圖像用灰色按比例顯示圖像,使用的灰度級越多,圖像看起來越真實。 通常計算機用256級灰度來顯示圖像。在256級灰度圖像中,每個像素可以是白色、黑色或灰度中256級中的任何一個,也就是說,每個像素有256種信息表示的可能性。所以在灰度圖像中,存儲一個像素的圖像需要256個信息單元,即需要一個位元組的存儲空間。因此,一幅解析度為640×480、滿屏的灰度圖像需要307200個位元組的存儲空間。

計算機可以使用16、256或1,670萬種顏色來顯示彩色圖像,用戶將會得到更為真實的圖像。

16色的圖像中,每個像素可以有16種顏色。那麼為了表示16個不同的信息單元,每個像素需要4位二進制數來存儲信息。因此,一幅滿屏的16色點陣圖圖像需要的存儲容量為153600個位元組。

256色的點陣圖圖像,每個像素可以有256種顏色。為了表示256個不同的信息單元,每個像素需要8位二進制數來存儲信息,即一個位元組。因此,一幅滿屏的256色點陣圖圖像需要的存儲容量為307200個位元組,是16色的兩倍,與256級灰度圖像相同。

1,670萬色的點陣圖圖像稱為24點陣圖像或真彩色圖像。其每個像素可以有1.670萬種顏色。為了表示這1,670萬種不同的信息單元,每個像素需要24位二進制數來存儲信息,即3個位元組。顯然,一幅滿屏的真彩色圖像需要的存儲容量更大。

包含圖像的文件都很大,需要很大容量的存儲器來存儲,並且傳輸和下載的時間也很長。例如,從網際網路上下載一幅解析度為640×480的256色圖像至少需要1分鍾;一幅16色的圖像需要一半的時間;而一幅真彩色圖像則會需要更多的時間。

有兩種技術可以用來減少圖像的存儲空間和傳輸時間,即數據壓縮技術和圖像抖動技術。數據壓縮技術隨後介紹,而圖像抖動技術主要是採用減少圖像中的顏色數來減小文件存儲容量的。抖動技術是根據人眼對顏色和陰影的解析度,通過由兩個或多個顏色組成的模式產生附加的顏色和陰影來實現。例如,256色圖像上的一片琥珀色區域,可以通過抖動技術轉換為16色圖像上的黃紅色小點模式。在網際網路的Web頁面上,抖動技術是用來減少圖像存儲容量的常用技術。

點陣圖圖像常用來表現現實圖像,其適合於表現比較細致、層次和色彩比較豐富、包含大量細節的圖像。例如掃描的圖像,攝像機、數字照相機拍攝的圖像,戓幀捕捉設備獲得的數字化幀畫面。經常使用的點陣圖圖像文件擴展名有:.bmp、.pcx、.tif、.jpg和.gif等。

由像素矩陣組成的點陣圖圖像可以修改戓編輯單個像素,即可以使用點陣圖軟體(也稱照片編輯軟體戓繪畫軟體)來修改點陣圖文件。可用來修改戓編輯點陣圖圖像的軟體如:Microsoft Paint、 PC Paintbrush、Adobe Photoshop、Micrografx Picture Publisher等,這些軟體能夠將圖片的局部區域放大,而後進行修改。

2.矢量圖像
矢量圖像是由一組存儲在計算機中,描述點、線、面等大小形狀及其位置、維數的指令組成,而不是真正的圖像。它是通過讀取這些指令並將其轉換為屏幕上所顯示的形狀和顏色的方式來顯示圖像的,矢量圖像看起來沒有點陣圖圖像真實。用來生成矢量圖像的軟體通常稱為繪圖軟體,如常用的有:Micrographx Designer和CorelDRAW。

矢量圖像的優缺點
優點:
存儲空間比點陣圖圖像小。矢量圖像的存儲空間依賴於圖像的復雜性,每條指令都需要存儲空間,所以圖像中的線條、圖形、填充模式越多,需要的存儲空間越大。但總的來說,由於矢量圖像存儲的是指令,要比點陣圖圖像文件小得多。

矢量圖像可以分別控制處理圖中的各個部分,即把圖像的一部分當作一個單獨的對象,單獨加以拉伸、縮小、變形、移動和刪除,而整體圖像不失真。不同的物體還可以在屏幕上重疊並保持各自的特性,必要時仍可分開。所以,矢量圖像主要用於線性圖畫、工程制圖及美術字等。經常使用的矢量圖像文件擴展名有:.wmf、.dxf、.mgx和.cgm等。

缺點:
處理起來比較復雜,用矢量圖格式表示一復雜圖形需花費程序員和計算機的大量時間,比較費時,所以通常先用矢量圖形創建復雜的圖,再將其轉換為點陣圖圖像來進行處理。

點陣圖圖像和矢量圖像的比較:
顯示點陣圖圖像要比顯示矢量圖像快,但點陣圖圖像所要求的存儲空間大,因為它要指明屏幕上每一個像素的信息。總之,矢量圖像的關鍵技術是圖形的製作和再現,而點陣圖圖像的關鍵技術則是圖像的掃描、編輯、無失真壓縮、快速解壓和色彩一致性再現等。

3.數字視頻:
視頻信息實際上是由許多幅單個畫面所構成的。電影、電視通過快速播放每幀畫面,再加上人眼的視覺滯留效應便產生了連續運動的效果。視頻信號的數字化是指在一定時間內以一定的速度對單幀視頻信號進行捕獲、處理以生成數字信息的過程。

與模擬視頻相比,數字視頻的優點為:
1)數字視頻可以無失真地進行無限次拷貝,而模擬視頻信息每轉錄一次,就會有一次誤差積累,產生信息失真。

2)可以用許多新方法對數字視頻進行創造性的編輯,如字幕、電視特技等。

3)使用數字視頻可以用較少的時間和費用創作出用於培訓教育的交互節目, 可以真正實現將視頻融進計算機系統中以及可以實現用計算機播放電影節目等。

數字視頻的缺點為:
因為數字視頻是由一系列的幀組成,每個幀是一幅靜止的圖像,並且圖像也使用點陣圖文件形式表示。通常,視頻每秒鍾需要顯示30幀,所以數字視頻需要巨大的存儲容量。

例如:一幅全屏的、解析度為640×480的256色圖像需要有307200位元組的存儲容量。那麼一秒鍾數字視頻需要的存儲空間是30乘上這個數,即9216000個位元組,約為9兆。兩小時的電影需要66 355 200 000個位元組,超過66G位元組。這樣大概只有使用超級計算機才能播放。所以在存儲和傳輸數字視頻過程中必須使用壓縮編碼。

2.1.3 聲音數據的表示
計算機可以記錄、存儲和播放聲音。在計算機中聲音可分成數字音頻文件和MIDI文件。

1.數字音頻
復雜的聲波由許許多多具有不同振幅和頻率的正弦波組成,這些連續的模擬量不能由計算機直接處理,必須將其數字化才能被計算機存儲和處理

計算機獲取聲音信息的過程就是聲音信號的數字化處理過程。經過數字化處理之後的數字聲音信息能夠像文字和圖像信息一樣被計算機存儲和處理。模擬聲音信號轉化為數字音頻信號的大致過程:

用數字方式記錄聲音,首先需對聲波進行采樣。聲波采樣前後波形如圖2.1.4所示(其中橫軸表示時間,縱軸表示振幅):

圖2.1.4 聲波采樣前後波形
采樣頻率指的是在采樣聲音的過程中,每秒鍾對聲音測量的次數。采樣頻率以Hz為單位。如果提高采樣頻率,單位時間內所得到的振幅值就多,也即采樣頻率越高,對原聲音曲線的模擬就越精確。然後再把足夠多的振幅值以同樣的采樣頻率轉換為電壓值去驅動揚聲器,則可聽到和原波形一樣的聲音。這種技術稱為脈沖編碼調制技術(PCM)。

聲音文件
存儲在計算機上的聲音文件的擴展名為:.wav,.mod,.au和.voc。要記錄和播放聲音文件,需要使用聲音軟體,聲音軟體通常都要使用音效卡。

2.MIDI文件
樂器數字介面--MIDI(Musical Instrument Digital Interface),是電子樂器與計算機之間的連接界面和信息交流方式。MIDI格式的文件擴展名為.mid,通常把MIDI格式的文件簡稱為"MIDI文件"。

MIDI是數字音樂國際標准。數字式電子樂器的出現,為計算機處理音樂創造了極為有利的條件。MIDI聲音與數字化波形聲音完全不同,它不是對聲波進行采樣、量化和編碼。它實際上是一串時序命令,用於紀錄電子樂器鍵盤彈奏的信息,包括鍵、力度、時值長短等。這些信息稱之為MIDI消息,是樂譜的一種數字式描述。當需要播放時,只需從相應的MIDI文件中讀出MIDI消息,生成所需要的樂器聲音波形,經放大後由揚聲器輸出。

MIDI文件的存儲容量較數字音頻文件小得多。如3分鍾的MIDI音樂僅僅需要10KB的存儲空間,而3分鍾的數字音頻信號音樂需要15MB的存儲容量。

2.2 數據壓縮
對數據重新進行編碼,以減少所需要的存儲空間。數據壓縮必須是可逆的,也即壓縮過的數據必須可以恢復成原狀,其逆過程稱為解壓縮。
當數據壓縮後,文件的大小變小了,可以用壓縮比來衡量壓縮的數量。例如,壓縮比為20:1,表明壓縮後的文件大小是原文件的1/20。壓縮編碼方法有無損壓縮法(冗餘壓縮法)和有損壓縮法。後者允許有一定程度的失真,可用於對圖像、聲音、數字視頻等數據的壓縮。其中用這種方法壓縮數據時,數字視頻圖像的壓縮比可達到100:1~200:1。

數據壓縮可以由特殊的計算機硬體實現或完全由軟體來實現,也可以軟、硬體相結合的方法來實現 。常用的壓縮軟體由Winzip等。

2.2.1文本文件壓縮
自適應式替換壓縮技術
掃描整個文本並且尋找兩個或多個位元組組成的模式。一旦發現一個新的模式,會用文件中其他地方沒有用過的位元組來代替這個模式,並在字典中加入一個入口。例如:有這樣一段文本
"the rain in Spain stays mainly on the plain, but the rain in Maine falls again and again"

其中:"the" 是一種模式,在文中出現3次,若用"#"來替換,可以壓縮6個位元組;"ain"出現8次,若用"@"來替換,可以壓縮16個位元組;"in" 出現2次,若用"$"來替換,可以壓縮2個位元組等。可見,文件越長,包含重復信息的可能越大,壓縮比也越大。

掃描整個文檔,並尋找重復的單詞。當一個單詞出現的次數多於一次時,那麼從第二次及以後出現的該單詞都會用一個數字來替換。這個數字稱為原單詞的指針。例如:上例中的文本可以壓縮為:"the rain in Spain stays mainly on #1 plain, but #1 #2 #3 Maine falls again and #16"可見,只壓縮了6個位元組,文件越大,單詞重復的頻率越高,因而壓縮效果也越好。

2.2.2圖象數據壓縮
遊程編碼是針對於圖形文件的壓縮技術,它是一種尋找位元組模式並用一個可以描述這個模式的消息進行替代的壓縮技術。

例如:假設圖像中有一個191個像素的白色區域,並且每個像素用一個位元組來表示。經過遊程編碼壓縮後,這串191個位元組的數據被壓縮成2個位元組。

擴展名為.bmp的點陣圖文件是沒有壓縮過的文件。擴展名為.tif、.pcx、.jpg的點陣圖文件是已經壓縮過的文件。以.tif為文件擴展名的文件使用的是TIFF(即帶標志的圖像文件格式)格式。以.pcx為文件擴展名的文件使用的是 PCX格式。以.jpg為文件擴展名的文件使用的是有損失的JPEG(Joint Photographic Experts Group,聯合圖像專家組)格式。人們往往對圖像實行有損壓縮。

2.2.3視頻數據壓縮
視頻由一系列的幀組成,每一幀又是一幅點陣圖圖像,故視頻文件需要巨大的存儲容量。

人們通過減少每秒鍾的播放幀數、減少視頻窗口的大小或者只對每幀之間變化的內容進行編碼等技術,來減少視頻信號的存儲容量。

數字視頻常常採用的格式有:Video for Windows、QuickTime和MPEG格式,其文件的擴展名分別為:.avi、.mov、.mpg其中.mpg是一種壓縮文件。MPEG格式可以將兩個小時的視頻信息壓縮到幾個GB。

視頻壓縮中還可以用運動補償技術來減少存儲容量。這種技術只存儲每一幀之間變化的數據,而不需要存儲每一幀中所有的數據。當某個視頻片斷每幀之間的變化不大時,用運動補償技術非常有效。例如:一個說話人的頭部,只有嘴和眼睛在變化,而背景卻保持相當的穩定。此時計算機只需計算出兩幀之間的差別,只存儲改變的內容即可。根據數據的不同,運動補償的壓縮比可以達到200:1。另外,每秒鍾的播放幀數直接影響到視頻的播放質量。減小圖像的大小也是一種有效的減少存儲容量的好方法。一般可以綜合以上幾種壓縮技術來達到減小視頻文件存儲容量的目的。

2.2.4 音頻數據壓縮
音頻數據最突出的問題是信息量大。音頻信息文件所需存儲空間的計算公式為 :

存儲容量(位元組)= 采樣頻率×采樣精度/8×聲道數×時間

例如:一段持續1分鍾的雙聲道音樂,若采樣頻率為44.1KHz,采樣精度為16位,數字化後需要的存儲容量為:44.1×103×16/8×2×60=10.584MB 。

數字音頻的編碼必須具有壓縮聲音信息的能力,最常用的方法是自適應脈沖編碼調製法,即ADPCM壓縮編碼。

ADPCM壓縮編碼方案信噪比高,數據壓縮倍率達2~5倍而不會明顯失真,因此,數字化聲音信息大多使用這種壓縮技術。

2.3 信息加工
中央處理單元通常指為完成基本信息處理循環部件的總和。中央處理單元是計算機系統硬體的核心,它主要包括中央處理器(Central Processing Unit,CPU)、內存儲器(Memory)、系統匯流排(System Bus)和控制部件等,通過這些部件的協同動作完成對信息的處理。

2.3.1 CPU
CPU是計算機系統的核心部件,它的工作就是處理信息、完成計算。CPU的種類很多。微型機的CPU也被稱為"微處理器",是採用最先進技術生產的超大規模集成電路晶元。在這種晶元中通常集成了數百萬計的晶體管電子元件,具有非常復雜的功能。比微型計算機性能更強的各種計算機,例如用於高性能網路伺服器的計算機等,它們的CPU常常由一組高性能晶元構成,具有更強的計算能力。此外在各種現代化設備,例如各種機器設備、儀器、交通工具等內部都安裝有所謂"嵌入式"的CPU晶元,幾乎所有的高檔電器內部也都裝備了一片甚至幾片CPU晶元。

2.3.2 內存儲器
內存儲器又稱為主存儲器(Main Memory),簡稱為內存或主存。內存是計算機工作中用於保存信息的主要部件,在一個計算機系統中起著極為重要的作用,它的工作速度和存儲容量對系統的整體性能、對系統解決問題的規模和效能影響都非常大。對於內存儲器,除了容量以外,另一個重要的性能指標就是它的訪問速度。內存速度用進行一次讀或寫操作所花費的"訪問時間"來衡量。

內存儲器的基本存儲單位稱為存儲單元,今天的計算機內存小存儲器單元的結構模式,每個單元正好存儲一個位元組的信息(8位二進制代碼)。每個單元對應了一個唯一的編號,由此形成的單元編號稱為存儲單元的地址。計算機中央處理單元中的各部件通過一條公共信息通路連接,這條信息通路稱為系統匯流排。CPU和內存之間的信息交換是通過數據匯流排和地址匯流排進行的。內存是按照地址訪問的,給出即可得到存儲在具有這個地址的內存單元里的信息。CPU可以隨即訪問任何內存單元的信息。且訪問時間的長短不依賴所訪問的地址。

2.3.3 指令和程序
CPU的基本功能由它所提供的指令確定。當CPU得到一條指令以後,控制單元就解釋這條指令,指揮其他部件完成這條指令。雖然有很多不同的CPU,但它們的基本指令具有共同性。CPU的基本指令主要包括以下幾大類:

1) 存儲器訪問類指令

2) 算術運算和邏輯運算類指令

3) 條件判斷和邏輯運算類指令

4) 輸入輸出指令

5) 控制和系統指令

指令也是在計算機里存在並需要在計算機里傳輸的一類信息,所以指令也必須採用二進制方式編碼,以二進制形式在計算機里保存和傳輸。當CPU得到一條指令以後,控制單元就解釋這條指令,指揮其他部件完成這條指令。

所謂"程序"就是為完成某種特定工作而實現的、由一系列計算機指令構成的序列。簡單的說,程序就是指令的序列。一種具體的計算機的程序就是這種計算機的CPU能夠執行的指令作為基本元素構成的序列。程序也可以看作是被計算機的CPU處理的一類信息,它實際上是被CPU的控制單元處理的,而不象一般數據那樣被CPU的運算部件處理和使用。計算機基本工作循環由兩個基本步驟組成:一個是取指令,另一個是執行指令。程序控制器是實現這個基本循環的主體。

人們在分析了在程序中需要實現的各種計算過程的需要之後,提出了程序的三種基本邏輯結構,稱為程序的三種"基本控制結構",即"順序結構"、"分支結構"和"循環結構",已經在理論上證明了這三種結構的能力是充分的,任何程序都能僅僅用這三種結構構造起來。三種基本控

❻ MMX指令的介紹

MMX寄存器有64位,可以同時進行8對位元組或4對字或2對雙字同時相同操作,還可以進行飽和運算,也就是運算結果有個頂點,
不會溢出,當然也可以進行普通運算.
MM表示64位MMX寄存器.
r32表示32位通用寄存器或esi,edi
m32表示32位內存變數
m64表示64位內存變數
m128表示128位內存變數
imm8表示8位立即數
左操作數為目的操作數,右操作數為源操作數
'|'字元表示每組數據之間的間隔分隔符
movd MM,r32/m32
把 r32/m32 值賦給 MM 的低32位,高32位清零.
movd r32/m32,MM
把 MM 的低32位值賦給 r32/m32.
例:
當MM0 == 1234567887654321 h,eax == 0abc h時,執行movd MM0,eax,則MM0 == 0abc h
當MM0 == 1234567887654321 h,eax == 0abc h時,執行movd eax,MM0,則eax == 87654321 h
movq MM,MM/m64
把源MM/m64的值送入目的MM.
例:
當MM0 == 1234567887654321 h,MM1 == 3141592653 h時,執行movq MM0,MM1,則MM0 == 3141592653 h
movntq m64,MM
m64 <== MM ,MM內容送入m64,不經過cache.
pmovmskb r32,MM
r[0] <== MM[7]
r[1] <== MM[15]
r[2] <== MM[23]
r[3] <== MM[31]
r[4] <== MM[39]
r[5] <== MM[47]
r[6] <== MM[55]
r[7] <== MM[63]
r[31-8] <== 0
paddsb MM,MM/m64
按位元組對齊,飽和有符號數(補碼)相加(結果= -128~+127,80h~7fh),值送入目的MM.
當結果小於-128時,結果強制轉為80h,當結果大於+127時,結果強制轉為7fh.
例:
當MM0 == 00 c0 fe 7e 11 h,
MM1 == 12 a6 9c 10 02 h時,執行 paddsb MM0,MM1,
則MM0 == 12 80 9a 7f 13 h
0c0h = -64,0a6h = -90,-64 + (-90) = -154,-154 < -128,所以結果為80h
7eh=126,10h=16,126+16=142,142>127,所以結果為7fh
其餘的未飽和所以結果正常.
paddsw MM,MM/m64
按字對齊,飽和有符號數(補碼)相加(結果= -32768~+32767,8000h~7fffh),值送入目的MM.
運算與paddsb類似,當結果小於-32768時,結果強制轉為8000h,當結果大於,+32767時,結果強制轉為7fffh.
padsb MM,MM/m64
按位元組對齊,飽和無符號數相加(結果= 0~255,0h~0ffh),值送入目的MM.
當結果大於255時,結果強制轉為0ffh.
例:
當MM0 == 23 11 h,MM1 == fc 22 h時,執行padsb MM0,MM1,則MM0 == ff 33h
23h = 35,0fch = 253,35 + 253 = 288,288 > 255,所以結果為0ffh
padsw MM,MM/m64
按字對齊,飽和無符號數相加(結果= 0~65535,0h~0ffffh),值送入目的MM.
運算與padsb類似,當結果大於65535時,結果強制轉為0ffffh.
psubsb MM,MM/m64
按位元組對齊,飽和有符號數(補碼)相減(結果= -128~+127,80h~7fh),值送入目的MM.
運算與paddsb類似,當結果小於-128時,結果強制轉為80h,當結果大於,+127時,結果強制轉為7fh.
psubsw MM,MM/m64
按字對齊,飽和有符號數(補碼)相減(結果= -32768~+32767,8000h~7fffh),值送入目的MM.
運算與paddsw類似,當結果小於-32768時,結果強制轉為8000h,當結果大於,+32767時,結果強制轉為7fffh.
paddb MM,MM/m64
按位元組對齊,普通相加,與add指令類似.
例:
當MM0 = 12 34 56 78 ab cd ef feh,
MM1 = 87 69 86 54 3d ea cb 03h,執行paddb MM0,MM1,
則MM0 = 99 9d dc cc e8 b7 ba 01h
paddw MM,MM/m64
按字對齊,普通相加,與add指令類似.
paddd MM,MM/m64
按雙字對齊,普通相加.與add指令類似.
paddq MM,MM/m64
按四字對齊,普通相加.
例:
當MM0 == 0fffffffffffffffeh,MM1 == 3h,執行paddq MM0,MM1,則MM0 = 1h
psubb MM,MM/m64
按位元組對齊,普通相減,與sub指令類似.
psubw MM,MM/m64
按字對齊,普通相減,與sub指令類似.
psubd MM,MM/m64
按雙字對齊,普通相減.與add指令類似.
psubq MM,MM/m64
按四字對齊,普通相減.
例:
當MM0 == 1h,MM1 == 3 h,執行psubq MM0,MM1,則MM0 = 0fffffffffffffffeh
psllw MM,MM/m64 psllw MM,imm8
把目的寄存器按字由源存儲器(或imm8 立即數)指定位數邏輯左移,移出的位丟失.
低字移出的位不會移入高字.
例:
當MM0 = 0ffff ffff ffff ffffh,執行psllw MM0,1
則MM0 = 0fffe fffe fffe fffeh
psrlw MM,MM/m64 psrlw MM,imm8
把目的寄存器按字由源存儲器(或imm8 立即數)指定位數邏輯右移,移出的位丟失.
高字移出的位不會移入低字.
例:
當MM0 = 0ffff ffff ffff ffffh,執行psrlw MM0,1
則MM0 = 07fff 7fff 7fff 7fffh
pslld MM,MM/m64 pslld MM,MM imm8
把目的寄存器按雙字由源存儲器(或imm8 立即數)指定位數邏輯左移,移出的位丟失.
低雙字移出的位不會移入高雙字.
例:
當MM0 = 0ffffffff ffffffffh,執行pslld MM0,1
則MM0 = 0fffffffe fffffffeh
psrld MM,MM/m64 psrld MM,imm8
把目的寄存器按雙字由源存儲器(或imm8 立即數)指定位數邏輯右移,移出的位丟失.
高雙字移出的位不會移入低雙字.
例:
當MM0 = 0ffffffff ffffffffh,執行psrld MM0,1
則MM0 = 07fffffff 7fffffffh
pmullw MM,MM/m64
按字對齊,有符號(補碼)相乘,取結果低16位,放入目的寄存器的對應字.
例:
當MM0 == 2 acfeh,MM1 == 9 cef3h,執行 pmulhw,則MM0 = 0000 0000 0012 991ah
2 * 9 = 18,18 = 0000 0012h,取低16位 0012 為結果.
0acfeh == -21250,0cef3h == -12557,-21250*-12557 = 266836250 = 0fe7 991a h,取低16位 991a 為結果.
pmulhw MM,MM/m64
按字對齊,有符號(補碼)相乘,取結果高16位,放入目的寄存器的對應字.
例:
當MM0 == 2 acfeh,MM1 == 9 cef3h,執行 pmulhw,則MM0 = 0000 0000 0000 0fe7h
2 * 9 = 18,18 = 0000 0012h,取高16位 0000 為結果.
0acfeh == -21250,0cef3h == -12557,-21250*-12557 = 266836250 = 0fe7 991a h,取高16位 0fe7 為結果.
▲注:在MMX指令集中沒有除法指令.
﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
pand MM,MM/m64
64個位'與'操作,結果放入目的寄存器.
pandn MM,MM/m64
目的寄存器按位先取'非',再'與'源寄存器,結果放入目的寄存器.
por MM,MM/m64
64個位'或'操作,結果放入目的寄存器.
pxor MM,MM/m64
64個位'異或'操作,結果放入目的寄存器.
pmaddwd MM,MM/m64
按字對齊有符號(補碼)向量點乘.
高32位 | 低32位
目的寄存器: a0 | a1 | a2 | a3
源寄存器: b0 | b1 | b2 | b3
目的寄存器結果: a0*b0+a1*b1 | a2*b2+a3*b3
例:
當MM0 = 0006 8a11 1234 4321h,
MM1 = 0154 c239 ae39 2b35h,當執行pmaddwd MM0,MM1
則MM0 = 1c75a7c1 0583d669h 注意是有符號操作!
pcmpeqb MM,MM/m64
源寄存器與目的寄存器按位元組比較,相等就置目的寄存器對應位元組為0ffh,否則為00h
例:
當MM0 == 20 11h,MM1 == 21 11h,執行pcmpeqb MM0,MM1,則MM0 = ff ff ff ff ff ff 00 ff h
注:MM0與MM1的高48為0,因為0 == 0,所以置目的寄存器對應位元組為0ffh.
pcmpeqw MM,MM/64
源寄存器與目的寄存器按字比較,相等就置目的寄存器對應字為0ffffh,否則為0000h
pcmpeqd MM,MM/m64
源寄存器與目的寄存器按雙字比較,相等就置目的寄存器對應雙字為0ffffffffh,否則為00000000h
pcmpgtb MM,MM/m64
源寄存器與目的寄存器按位元組(有符號補碼)比較,
當目的寄存器對應位元組大於源寄存器就置目的寄存器對應位元組為0ffh,否則為00h
例:
當MM0 == 80 12 11 h,MM1 == 7f 12 10h,執行pcmpgtb MM0,MM1,則MM0 = 00 00 ffh
因為80h = -128,7fh = 127,-128<127,所以結果為00h
pcmpgtw MM,MM/m64
源寄存器與目的寄存器按字(有符號補碼)比較,
當目的寄存器對應字大於源寄存器就置目的寄存器對應字為0ffffh,否則為0000h
pcmpgtd MM,MM/m64
源寄存器與目的寄存器按雙字(有符號補碼)比較,
當目的寄存器對應雙字大於源寄存器就置目的寄存器對應雙字為0ffffffffh,否則為00000000h
packuswb MM,MM/m64
把目的寄存器按字有符號數壓縮為位元組無符號數放入目的寄存器低32位
把源寄存器按字有符號數壓縮為位元組無符號數放入目的寄存器高32位
壓縮時負數變為00h,大於255的正數變為0ffh.
高32位 | 低32位
目的寄存器: a0 | a1 | a2 | a3
源寄存器: b0 | b1 | b2 | b3
目的寄存器壓縮結果: b0|b1| b2|b3| a0|a1|a2|a3
例:
當MM0 == 7fff 8000 1234 00ae h,MM1 == 00ad 0123 80ff 0100 h,
執行packuswb MM0,MM1,則MM0 = ad ff 00 ff ff 00 ff ae h.
packsswb MM,MM/m64
把目的寄存器按字有符號數壓縮為位元組有符號數放入目的寄存器低32位
把源寄存器按字有符號數壓縮為位元組有符號數放入目的寄存器高32位
壓縮時小於-128負數變為80h,大於127的正數變為7fh.
高32位 | 低32位
目的寄存器: a0 | a1 | a2 | a3
源寄存器: b0 | b1 | b2 | b3
目的寄存器壓縮結果: b0|b1| b2|b3| a0|a1|a2|a3
例:
當MM0 == 0fff ff06 0080 0012 h,MM1 == 0001 8000 ffff 7fff h,
執行packsswb MM0,MM1,則MM0 = 01 80 ff 7f 7f 80 7f 12 h
packssdw MM,MM/m64
把目的寄存器按雙字有符號數壓縮為單字有符號數放入目的寄存器低32位
把源寄存器按雙字有符號數壓縮為單字有符號數放入目的寄存器高32位
壓縮時小於-32768負數變為8000h,大於32767的正數變為7fffh.
高32位 | 低32位
目的寄存器:a0 | a1
源寄存器: b0 | b1
目的寄存器壓縮結果: b0 | b1 | a0 | a1
punpcklbw MM,MM/m64
把目的寄存器與源寄存器的低32位按位元組交錯排列放入目的寄存器
高32位 | 低32位
目的寄存器: a0|a1|a2|a3|a4|a5|a6|a7
源寄存器: b0|b1|b2|b3|b4|b5|b6|b7
目的寄存器結果:b4|a4|b5|a5|b6|a6|b7|a7
例:
當MM0 == 01 02 03 04 05 06 07 08 h,MM1 == 09 0a 0b 0c 0d 0e 0f 00 h
執行punpcklbw MM0,MM1,則MM0 = 0d 05 0e 06 0f 07 00 08 h
punpcklwd MM,MM/m64
把目的寄存器與源寄存器的低32位按字交錯排列放入目的寄存器
高32位 | 低32位
目的寄存器: a0 | a1 | a2 | a3
源寄存器: b0 | b1 | b2 | b3
目的寄存器結果:b2 | a2 | b3 | a3
punpckldq MM,MM/m64
把目的寄存器與源寄存器的低32位按雙字交錯排列放入目的寄存器
高32位 | 低32位
目的寄存器:a0 | a1
源寄存器: b0 | b1
目的寄存器結果: b1 | a1
punpckhbw MM,MM/m64
把目的寄存器與源寄存器的高32位按位元組交錯排列放入目的寄存器
高32位 | 低32位
目的寄存器: a0|a1|a2|a3|a4|a5|a6|a7
源寄存器: b0|b1|b2|b3|b4|b5|b6|b7
目的寄存器結果:b0|a0|b1|a1|b2|a2|b3|a3
例:
當MM0 == 01 02 03 04 05 06 07 08 h,MM1 == 09 0a 0b 0c 0d 0e 0f 00 h
執行punpcklbw MM0,MM1,則MM0 = 09 01 0a 02 0b 03 0c 04 h
punpckhwd MM,MM/m64
把目的寄存器與源寄存器的高32位按字交錯排列放入目的寄存器
高32位 | 低32位
目的寄存器: a0 | a1 | a2 | a3
源寄存器: b0 | b1 | b2 | b3
目的寄存器結果:b0 | a0 | b1 | a1
punpckhdq MM,MM/m64
把目的寄存器與源寄存器的高32位按雙字交錯排列放入目的寄存器
高32位 | 低32位
目的寄存器:a0 | a1
源寄存器: b0 | b1
目的寄存器結果: b0 | a0

❼ 300K的照片是多大

1K=1024位元組,300K=300x1024=307200位元組

300k是圖片的大小有不是圖片的尺寸,一張圖片的大小有很多因素決定,圖像的解析度,圖像的尺寸,圖像顏色的豐富度,存儲圖片的格式,存儲圖片格式時的規格等等元素決定。

位元組是計算機信息技術用於計量存儲容量的一種計量單位,也表示一些計算機編程語言中的數據類型和語言字元。Byte數據類型(位元組型)用一個位元組(Byte)儲存,可區別256個數字,取值范圍:0到255。Byte是從0-255的無符號類型,所以不能表示負數。

解析度指屏幕上像素的數目,為了控制像素的亮度和彩色深度,每個像素需要很多個二進制位來表示,如果要顯示256種顏色,則每個像素至少需要8位(一個位元組)來表示,即2的8次方等於256;當顯示真彩色時,每個像素要用3個位元組的存儲量.

❽ 急求 CTE-2108溫控器說明書

參數設定操作:
◆修改參數值操作: ◇按住[設置]鍵 3S 進入參數項選擇模式,設置指示燈亮;LED 顯示某一參數 項; ◇按[▲]或[▼]鍵選擇參數項 (F1……F7) 按[▲]增加, , 按[▼]減少, 再按[設 置]鍵顯示相應參數項的參數值; ◇按住[設置]鍵不鬆手,同時再按一下[▲]鍵或[▼]鍵改變參數值,如連續按 [▲]或[▼]鍵不放, 參數值自動快速增大或減小; 松開[設置]鍵, 單按[▲]或[▼] 鍵選擇下一個參數項,按住[設置]鍵不鬆手,同時再按一下[▲]鍵或[▼]鍵改變 參數值,重復以上步驟進行所有參數值的設定; ◇所有參數設定完畢,按一下[確認]鍵保存所有設定值,返回溫度測量狀態設 置指示燈滅。若 30S 後無鍵操作,機器自動存儲設定值並返回溫度測量狀態,設 置指示燈滅。若在參數設定完成後 30S 內未按[確認]鍵保存就斷電,機器仍按原 來的參數值運行。

◆查看參數值操作: ◇按一下[▲]鍵,顯示已設定上限值 2S,返回當前溫度 顯示狀態; ◇按一下[▼]鍵,顯示已設定下限值 2S,返回當前溫度顯示狀態; ◇按一下[設置]鍵,顯示已設定除霜間隔、最大除霜時間各 2S,返回當前溫 度顯示狀態。
控制功能說明: ◆製冷控制; ◇當探頭測量值≥設定上限值時,製冷繼電器閉合,啟動製冷壓縮機;當探頭 測量值≤設定下限時,製冷繼電器斷開,關閉製冷壓縮機。 ◆除霜控制: ◇定時除霜:機器持續運行時間=設定除霜周期時間時,除霜繼電器閉合,啟 動除霜設備;運行完畢最大除霜時間時,除霜繼電器斷開,關閉除霜設備。 ◇手動除霜:當除霜周期設定不合理,且必須除霜時,可執行手動除霜功能。 具體操作為:按住[▼]鍵 3S,進入手動除霜狀態,除霜繼電器閉合,啟動除霜 設備;再按住[▼]鍵 3S,退出手動除霜狀態,除霜繼電器斷開,關閉除霜設備。 若不手動退出,則運行最大除霜時間後自行退出手動除霜狀態。 ◇取消除霜:將除霜周期或最大除霜時間任一設置為「0」,則取消除霜功能。
輔助功能說明: ◆溫度校正: ◇若機器測量溫度示值與標准溫度示值有偏差時,可使用溫度校正功能,對機 器測量示值進行校正。具體操作為:按住[設置]鍵 3S 進入設置狀態後,按[▲] 或[▼]鍵調整到 LED 顯示 F3,同時按住[設置 J 鍵和[▲]或[▼]鍵,在一 5℃~ +5℃范圍內選定一適宜值。校正後顯示值=校正前顯示值+校正值。校正值可以為 正數,也可以為負數。
◆延時保護: ◇機器第一次上電,如當前溫度高於設定上限值時,不能立即啟動製冷,需運 行延時時間後才會進入製冷狀態; ◇機器持續通電狀態下,製冷繼電器兩次閉合間隔≥延時時間時,立即啟動制 冷,不足延時時間時,需運行延時時間後才會進入製冷狀態。延時時間從壓縮機 停機瞬間開始計時。 ◇設置延時時間為「0」時,取消延時。
◆報警功能: ◇高低溫報警:機器高低溫報警設置范圍為 0~20℃。當探頭測量值≥上限值 +高低溫報警設定值,或探頭測量值≤下限值一高低溫報警設定值時,機器進入 高低溫報警狀態:蜂鳴器連續嘯叫,數碼管閃爍顯示溫度值。按任意鍵 消除報警音,如不按,持續報警到溫度回到范圍內。 ◇超測量范圍報警:機器測控溫范圍為-40℃~+50℃。溫度>50℃時,LED 顯 示「HH」; 溫度<-40℃時,LED 顯示「LL'』。 ◇探頭故障報警: 當探頭斷路或短路時, 機器進入報警狀態: 蜂鳴器連續嘯叫, LED 閃爍顯示故障符號「Er」 ,按任意鍵消除報警音。若不按按鍵,持續報警直 至故障排除。 指示燈狀態說明: 化霜指示燈 製冷指示燈 設置指示燈 亮 閃 亮 閃 亮 定時除霜 手動除霜 壓縮機製冷 壓縮機延時 參數設置 程序參數說明: 符號 項目 內容 出廠設 單位 置 -10 -20 0 2 15 20 1 ℃ ℃ ℃ 小時 分鍾 ℃ 分鍾 -39~ +50 -40~ F2 設定溫度下限 +49 F3 溫度校正值 -5~+5 F4 除霜周期 0~99 F5 除霜時間 0~99 F6 高低溫報警值 0~20 F7 延時時間 0~9 F1 設定溫度上限
使用注意事項: ◆注意製冷和化霜所接負載一定不要超過輸出接點容量, 否則可能造成機器損壞 和引起火災。 ◆各種連接導線要與接線端子接壓良好,否則,會造成機器可靠性降低。

❾ rar壓縮包保存到資料庫中的格式

6356?壓縮文件、OFFICE文檔文件以及其他的任何體積大了的文件,都可以採用二進制的方式保存在資料庫中,我想你們用的也是MSSQL資料庫吧。以下是其數據類型的詳細說明:在計算機中數據有兩種特徵:類型和長度。所謂數據類型就是以數據的表現方式和存儲方式來劃分的數據的種類。
在SQL Server 中每個變數、參數、表達式等都有數據類型。系統提供的數據類型分為幾大類,如表4-2 所示。

其中,BIGINT、 SQL_VARIANT 和TABLE 是SQL Server 2000 中新增加的3 種數據類型。下面分類講述各種數據類型。

4.3.1 整數數據類型
整數數據類型是最常用的數據類型之一。
1、INT (INTEGER)
INT (或INTEGER)數據類型存儲從-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147 ,483,647) 之間的所有正負整數。每個INT 類型的數據按4 個位元組存儲,其中1 位表示整數值的正負號,其它31 位表示整數值的長度和大小。
2、SMALLINT
SMALLINT 數據類型存儲從-2的15次方( -32, 768) 到2的15次方-1( 32 ,767 )之間的所有正負整數。每個SMALLINT 類型的數據佔用2 個位元組的存儲空間,其中1 位表示整數值的正負號,其它15 位表示整數值的長度和大小。
3、TINYINT
TINYINT數據類型存儲從0 到255 之間的所有正整數。每個TINYINT類型的數據佔用1 個位元組的存儲空間。
4、BIGINT
BIGINT 數據類型存儲從-2^63 (-9 ,223, 372, 036, 854, 775, 807) 到2^63-1( 9, 223, 372, 036 ,854 ,775, 807) 之間的所有正負整數。每個BIGINT 類型的數據佔用8個位元組的存儲空間。

4.3.2 浮點數據類型
浮點數據類型用於存儲十進制小數。浮點數值的數據在SQL Server 中採用上舍入(Round up 或稱為只入不舍)方式進行存儲。所謂上舍入是指,當(且僅當)要舍入的數是一個非零數時,對其保留數字部分的最低有效位上的數值加1 ,並進行必要的進位。若一個數是上舍入數,其絕對值不會減少。如:對3.14159265358979 分別進行2 位和12位舍入,結果為3.15 和3.141592653590。
1、REAL 數據類型
REAL數據類型可精確到第7 位小數,其范圍為從-3.40E -38 到3.40E +38。 每個REAL類型的數據佔用4 個位元組的存儲空間。
2、FLOAT
FLOAT數據類型可精確到第15 位小數,其范圍為從-1.79E -308 到1.79E +308。 每個FLOAT 類型的數據佔用8 個位元組的存儲空間。 FLOAT數據類型可寫為FLOAT[ n ]的形式。n 指定FLOAT 數據的精度。n 為1到15 之間的整數值。當n 取1 到7 時,實際上是定義了一個REAL 類型的數據,系統用4 個位元組存儲它;當n 取8 到15 時,系統認為其是FLOAT 類型,用8 個位元組存儲它。
3、DECIMAL
DECIMAL數據類型可以提供小數所需要的實際存儲空間,但也有一定的限制,您可以用2 到17 個位元組來存儲從-10的38次方-1 到10的38次方-1 之間的數值。可將其寫為DECIMAL[ p [s] ]的形式,p 和s 確定了精確的比例和數位。其中p 表示可供存儲的值的總位數(不包括小數點),預設值為18; s 表示小數點後的位數,預設值為0。 例如:decimal (15 5),表示共有15 位數,其中整數10 位,小數5。
4、NUMERIC
NUMERIC數據類型與DECIMAL數據類型完全相同。
注 意:SQL Server 為了和前端的開發工具配合,其所支持的數據精度默認最大為28位。但可以通過使用命令來執行sqlserver.exe程序以啟動SQL Server,可改變默認精度。命令語法如下:SQLSERVR[/D master_device_path][/P precisim_leve1]
例: 用最大數據精度38 啟動SQL Server
sqlservr /d c:\ Mssql2000\data\master.dat /p38
/*在使用了/P 參數後,如果其後沒有指定具體的精度數值,則默認為38 位./*
4.3.3 二進制數據類型
1、BINARY
BINARY 數據類型用於存儲二進制數據。其定義形式為BINARY( n), n 表示數據的長度,取值為1 到8000 。在使用時必須指定BINARY 類型數據的大小,至少應為1 個位元組。BINARY 類型數據佔用n+4 個位元組的存儲空間。在輸入數據時必須在數據前加上字元「0X」 作為二進制標識,如:要輸入「abc 」則應輸入「0xabc 」。若輸入的數據過長將會截掉其超出部分。若輸入的數據位數為奇數,則會在起始符號「0X 」後添加一個0,如上述的「0xabc 」會被系統自動變為「0x0abc」。
2、VARBINARY
VARBINARY數據類型的定義形式為VARBINARY(n)。 它與BINARY 類型相似,n 的取值也為1 到8000, 若輸入的數據過長,將會截掉其超出部分。不同的是VARBINARY數據類型具有變動長度的特性,因為VARBINARY數據類型的存儲長度為實際數值長 度+4個位元組。當BINARY數據類型允許NULL 值時,將被視為VARBINARY數據類型。
一般情況下,由於BINARY 數據類型長度固定,因此它比VARBINARY 類型的處理速度快。

4.3.4 邏輯數據類型
BIT: BIT數據類型佔用1 個位元組的存儲空間,其值為0 或1 。如果輸入0 或1 以外的值,將被視為1。 BIT 類型不能定義為NULL 值(所謂NULL 值是指空值或無意義的值)。

4.3.5 字元數據類型
字元數據類型是使用最多的數據類型。它可以用來存儲各種字母、數字元號、特殊符號。一般情況下,使用字元類型數據時須在其前後加上單引號』或雙引號」 。
1 CHAR
CHAR 數據類型的定義形式為CHAR[ (n) ]。 以CHAR 類型存儲的每個字元和符號佔一個位元組的存儲空間。n 表示所有字元所佔的存儲空間,n 的取值為1 到8000, 即可容納8000 個ANSI 字元。若不指定n 值,則系統默認值為1。 若輸入數據的字元數小於n,則系統自動在其後添加空格來填滿設定好的空間。若輸入的數據過長,將會截掉其超出部分。
2、NCHAR
NCHAR數據類型的定義形式為NCHAR[ (n) ]。 它與CHAR 類型相似。不同的是NCHAR數據類型n 的取值為1 到4000。 因為NCHAR 類型採用UNICODE 標准字元集(CharacterSet)。 UNICODE 標准規定每個字元佔用兩個位元組的存儲空間,所以它比非UNICODE 標準的數據類型多佔用一倍的存儲空間。使用UNICODE 標準的好處是因其使用兩個位元組做存儲單位,其一個存儲單位的容納量就大大增加了,可以將全世界的語言文字都囊括在內,在一個數據列中就可以同時出現中文、 英文、法文、德文等,而不會出現編碼沖突。
3、VARCHAR
VARCHAR數據類型的定義形式為VARCHAR [ (n) ]。 它與CHAR 類型相似,n 的取值也為1 到8000, 若輸入的數據過長,將會截掉其超出部分。不同的是,VARCHAR數據類型具有變動長度的特性,因為VARCHAR數據類型的存儲長度為實際數值長度,若 輸入數據的字元數小於n ,則系統不會在其後添加空格來填滿設定好的空間。
一般情況下,由於CHAR 數據類型長度固定,因此它比VARCHAR 類型的處理速度快。
4、NVARCHAR
NVARCHAR數據類型的定義形式為NVARCHAR[ (n) ]。 它與VARCHAR 類型相似。不同的是,NVARCHAR數據類型採用UNICODE 標准字元集(Character Set), n 的取值為1 到4000。

4.3.6 文本和圖形數據類型
這類數據類型用於存儲大量的字元或二進制數據。
1、TEXT
TEXT數據類型用於存儲大量文本數據,其容量理論上為1 到2的31次方-1 (2, 147, 483, 647)個位元組,在實際應用時需要視硬碟的存儲空間而定。
SQL Server 2000 以前的版本中,資料庫中一個TEXT 對象存儲的實際上是一個指針,它指向一個個以8KB (8192 個位元組)為單位的數據頁(Data Page)。 這些數據頁是動態增加並被邏輯鏈接起來的。在SQL Server 2000 中,則將TEXT 和IMAGE 類型的數據直接存放到表的數據行中,而不是存放到不同的數據頁中。 這就減少了用於存儲TEXT 和IMA- GE 類型的空間,並相應減少了磁碟處理這類數據的I/O 數量。
2 NTEXT
NTEXT數據類型與TEXT.類型相似不同的,是NTEXT 類型採用UNICODE 標准字元集(Character Set), 因此其理論容量為230-1(1, 073, 741, 823)個位元組。
3 IMAGE
IMAGE數據類型用於存儲大量的二進制數據Binary Data。 其理論容量為2的31次方-1(2,147,483,647)個位元組。其存儲數據的模式與TEXT 數據類型相同。通常用來存儲圖形等OLE Object Linking and Embedding,對象連接和嵌入)對象。在輸入數據時同BINARY數據類型一樣,必須在數據前加上字元「0X」作為二進制標識

4.3.7 日期和時間數據類型
1 DATETIME
DATETIME 數據類型用於存儲日期和時間的結合體。它可以存儲從公元1753 年1 月1 日零時起到公元9999 年12 月31 日23 時59 分59 秒之間的所有日期和時間,其精確度可達三百分之一秒,即3.33 毫秒。DATETIME 數據類型所佔用的存儲空間為8 個位元組。其中前4 個位元組用於存儲1900 年1 月1 日以前或以後的天數,數值分正負,正數表示在此日期之後的日期,負數表示在此日期之前的日期。後4 個位元組用於存儲從此日零時起所指定的時間經過的毫秒數。如果在輸入數據時省略了時間部分,則系統將12:00:00:000AM作為時間預設值:如果省略 了日期部分,則系統將1900 年1 月1 日作為日期預設值。
2 SMALLDATETIME
SMALLDATETIME 數據類型與DATETIME 數據類型相似,但其日期時間范圍較小,為從1900 年1 月1 日到2079 年6 月6:日精度較低,只能精確到分鍾,其分鍾個位上為根據秒數四捨五入的值,即以30 秒為界四捨五入。如:DATETIME 時間為14:38:30.283
時SMALLDATETIME 認為是14:39:00 SMALLDATETIME 數據類型使用4 個位元組存儲數據。其中前2 個位元組存儲從基礎日期1900 年1 月1 日以來的天數,後兩個位元組存儲此日零時起所指定的時間經過的分鍾數。
下面介紹日期和時間的輸入格式
日期輸入格式
日期的輸入格式很多大致可分為三類:
英文+數字格式
此類格式中月份可用英文全名或縮寫,且不區分大小寫;年和月日之間可不用逗號;
年份可為4 位或2 位;當其為兩位時,若值小於50 則視為20xx 年,若大於或等於50 則
視為19xx 年;若日部分省略,則視為當月的1號。以下格式均為正確的日期格式:
June 21 2000 Oct 1 1999 January 2000 2000 February
2000 May 1 2000 1 Sep 99 June July 00
數字+分隔符格式
允許把斜杠(/)、連接符(-)和小數點(.)作為用數字表示的年、月、日之間的分
隔符。如:
YMD:2000/6/22 2000-6-22 2000.6.22
MDY:3/5/2000 3-5-2000 3.5.2000
DMY:31/12/1999 31-12-1999 31.12.2000
純數字格式
純數字格式是以連續的4 位6、位或8 位數字來表示日期。如果輸入的是6 位或8 位
數字,系統將按年、月、日來識別,即YMD 格式,並且月和日都是用兩位數字來表示:
如果輸入的數字是4 位數,系統認為這4 位數代表年份,其月份和日預設為此年度的1 月
1 日。如:
20000601---2000 年6 月1 日 991212---1999 年12 月12 日 1998---1998 年 ????
時間輸入格式
在 輸入時間時必須按「小時、分鍾、秒、毫秒」的順序來輸入。在其間用冒號「:」隔開。但可將毫秒部分用小數點「.」 分,隔其後第一位數字代表十分之一秒,第二位數字代表百分之一秒,第三位數字代表千分之一秒。當使用12 小時制時用AM。am 和PM(pm)分別指定時間是午前或午後,若不指定,系統默認為AM。AM 與PM 均不區分大小寫。如:
3:5:7.2pm---下午3 時5 分7 秒200 毫秒
10:23:5.123Am---上午10 時23 分5 秒123 毫秒
可以使用SET DATEFORMAT 命令來設定系統默認的日期-時間格式。
4.3.8 貨幣數據類型
貨幣數據類型用於存儲貨幣值。在使用貨幣數據類型時,應在數據前加上貨幣符號,系統才能辨識其為哪國的貨幣,如果不加貨幣符號,則默認為「¥」。
1 MONEY
MONEY 數據類型的數據是一個有4 位小數的DECIMAL 值,其取值從-2的63次方(-922,337,203,685,477.5808到2的63次方 -1(+922,337,203,685,477.5807),數據精度為萬分之一貨幣單位。MONEY 數據類型使用8個位元組存儲。

2 SMALLMONEY
SMALLMONEY數據類型類似於MONEY 類型,但其存儲的貨幣值范圍比MONEY數據類型小,其取值從-214,748.3648到+214,748.3647,存儲空間為4 個位元組。

4.3.9 特定數據類型
SQL Server 中包含了一些用於數據存儲的特殊數據類型。
1 TIMESTAMP
TIMESTAMP數據類型提供資料庫范圍內的惟一值此類型相當於BINARY8或VARBINARY(8),但當它所定義的列在更新或插入數據行時,此 列的值會被自動更新,一個計數值將自動地添加到此TIMESTAMP數據列中。每個資料庫表中只能有一個TIMESTAMP數據列。如果建立一個名為 「TIMESTAMP」的列,則該列的類型將被自動設為TIMESTAMP數據類型。
2 UNIQUEIDENTIFIER
UNIQUEIDENTIFIER 數據類型存儲一個16 位的二進制數字。此數字稱為(GUIDGlobally Unique Identifier ,即全球惟一鑒別號)。此數字由SQLServer 的NEWID函數產生的全球惟一的編碼,在全球各地的計算機經由此函數產生的數字不會相同。

4.3.10 用戶自定義數據類型
SYSNAME SYSNAME 數據類型是系統提供給用戶的,便於用戶自定義數據類型。它被定義為NVARCHAR(128),即它可存儲128個UNICODE字元或256個一般字元。4.3.11 新數據類型
SQL Server 2000 中增加了3 種數據類型:BIGINT、SQL_VARIANT和TABLE。其中BIGINT數據類型已在整數類型中介紹,下面介紹其餘兩種:
1 SQL_VARIANT
SQL_VARIANT數據類型可以存儲除文本、圖形數據(TEXT、NTEXT、IMAGE)和TIMESTAMP類型數據外的其它任何合法的SQL Server數據。此數據類型大大方便了SQL Server的開發工作。
2 TABLE
TABLE 數據類型用於存儲對表或視圖處理後的結果集。這一新類型使得變數可以存儲一個表,從而使函數或過程返回查詢結果更加方便快捷。 《希望對你有所幫助》

❿ 數據結構題

第1題 (2.0) 分 某二叉樹的先根遍歷序列和後根遍歷序列相同,則該二叉樹的特徵是( )。A、高度等於其結點數B、任一結點無左孩子C、任一結點無右孩子D、空或只有一個結點第2題 (2.0) 分 關於哈夫曼樹,下列敘述正確的是( )。A、可能有度為1的結點B、總是完全二叉樹C、有可能是滿二叉樹D、WPL是深度最大葉子的帶權路徑長度第3題 (2.0) 分 給定整數集合{3,5,6,9,12},與之對應的哈夫曼樹是( )。第4題 (2.0) 分 在n個頂點和e條邊的無向圖的鄰接矩陣中,表示邊存在的元素個數為( )。A、nB、n*eC、eD、2*e第5題 (2.0) 分 對於有向圖,其鄰接矩陣表示相比鄰接表表示更易於進行的操作為( )。A、求頂點的鄰接點B、求頂點的度C、深度優先遍歷D、廣度優先遍歷第6題 (2.0) 分 為便於判別有向圖中是否存在迴路,可藉助於( )。A、廣度優先搜索演算法B、最小生成樹演算法C、最短路徑演算法D、拓撲排序演算法第7題 (2.0) 分 在待排關鍵字序列基本有序的前提下,效率最高的排序方法是( )。A、直接插入排序B、快速排序C、直接選擇排序D、歸並排序第8題 (2.0) 分 對n個元素進行冒泡排序,最好情況下的只需進行( )對相鄰元素之間的比較。A、nB、n-1C、n+1D、n/2第9題 (2.0) 分 對包含n個關鍵字的散列表進行檢索,平均檢索長度是( )。A)O(log2n)B)O(n)C)不直接依賴於n D)O(nlog2n)A、AB、BC、CD、D第10題 (2.0) 分 下列查找方法中,不屬於動態的查找方法是( )。A、二叉排序樹法B、平衡樹法C、散列法D、二分查找法第11題 (2.0) 分 ( )存儲方式適用於折半查找。A、鍵值有序的單鏈表B、鍵值有序的順序表C、鍵值有序的雙鏈表D、鍵值無序的順序表第12題 (2.0) 分 在順序表中,數據元素之間的邏輯關系用( )。 A、數據元素的相鄰地址表示B、數據元素在表中的序號表示C、指向後繼元素的指針表示D、數據元素的值表示第13題 (2.0) 分 若某線性表中最常用的操作是取第i個元素和找第i個元素的前趨元素,則採用( )存儲方式最節省運算時間( )。A、單鏈表B、順序表C、雙鏈表D、單循環鏈表第14題 (2.0) 分 若只在線性表的首、尾兩端進行插入操作,宜採用的存儲結構為( )。A、順序表B、用頭指針表示的單循環鏈表C、用尾指針表示的單循環鏈表D、單鏈表第15題 (2.0) 分 演算法分析是指( )。A、分析演算法的正確性B、分析演算法的可讀性C、分析演算法的健壯性D、分析演算法的時空性能第16題 (2.0) 分 演算法的時間復雜度取決於( )。A、問題的規模B、數據的初始狀態C、A和BD、以上都不是第17題 (2.0) 分 若進棧序列為a,b,c,則通過入出棧操作能得到的a,b,c的不同排列個數為( )。A、4B、5C、6D、7第18題 (2.0) 分 下列關於串的敘述中,正確的是( )。A、一個串的字元個數即該串的長度B、一個串的長度至少是1C、空串是由空格字元組成的串D、兩個串若長度相同,則它們相等第19題 (2.0) 分 下列敘述錯誤的是( )。A、多維數組是向量的推廣。B、多維數組是非線性結構。C、如果將二維數組看成由若干個行向量組成的一維數組,則為線性結構。D、對矩陣進行壓縮存儲的目的是為了數據加密。第20題 (2.0) 分 若下圖表示某廣義表,則它是一種( )。 A、線性表B、純表C、再入表D、遞歸表第21題 (2.0) 分某完全二叉樹有7個葉子,則其結點總數為( )。A、14B、13C、13或14D、以上都不是第22題 (2.0) 分 在二叉鏈表上交換所有分支結點左右子樹的位置,則利用( )遍歷方法最合適。A、前序B、中序C、後序D、按層次第23題 (2.0) 分 線索二叉樹中某結點為葉子的條件是( )。 A、p-> lchild!=NULL || p-> rchild!=NULLB、p-> ltag==0 || p-> rtag==0C、p-> lchild!=NULL & & p-> rchild!=NULLD、p-> ltag==1 & & p-> rtag==1第24題 (2.0) 分 連通圖是指圖中任意兩個頂點之間( )。A、都連通的無向圖B、都不連通的無向圖C、都連通的有向圖D、都不連通的有向圖第25題 (2.0) 分 在n個頂點和e條邊的無向圖的鄰接表中,邊結點的個數為( )。A、nB、n*eC、eD、2*e第26題 (2.0) 分 圖的深度遍歷必須藉助( )作為輔助空間。A、棧B、隊列C、查找表D、數組第27題 (2.0) 分 下列排序方法中,穩定的是( )。A、直接選擇排序B、冒泡排序C、快速排序D、希爾排序第28題 (2.0) 分 在不完全排序的情況下,就可以找出前幾個最大值的方法是( )。A、快速排序B、直接插入排序C、堆排序D、歸並排序第29題 (2.0) 分 n個記錄直接選擇排序時所需的記錄最多交換次數是( )。A、n-1B、nC、n(n-1)/2D、n(n+1)/2第30題 (2.0) 分 從理論上講,將數據以( )結構存放,查找一個數據的時間不依賴於數據的個數n。A、二叉查找樹 B、鏈表C、散列表D、順序表第31題 (2.0) 分 靜態查找表與動態查找表二者的根本差別在於( )。A、它們的邏輯結構不一樣B、施加在其上的操作不同C、所包含的數據元素的類型不一樣D、存儲實現不一樣第32題 (2.0) 分 單鏈表中增加頭結點的目的是為了( )。A、使單鏈表至少有一個結點B、標識表結點中首結點的位置C、方便運算的實現D、說明單鏈表是線性表的鏈式存儲第33題 (2.0) 分 設p指向單鏈表中的一個結點,s指向待插入的結點,則下述程序段的功能是( )。s->next=p->next;p->next=s;t=p->data;p->data=s->data;s->data=t;A、結點*p與結點*s的數據域互換B、在p所指結點的元素之前插入元素C、在p所指結點的元素之後插入元素D、在結點*p之前插入結點*s第34題 (2.0) 分 若結點的存儲地址與結點內容有某種確定的關系,則相應的存儲結構應為( )。A、順序存儲結構B、鏈式存儲結構C、索引存儲結構D、散列存儲結構第35題 (2.0) 分 下列各式中,按增長率由小至大的順序正確排列的是( )。 A.n1/2,n!,2n,n3/2B.n3/2,2n,nlogn,2100C.2n,logn,nlogn,n3/2D.2100,logn, 2n, nn第36題 (2.0) 分 棧和隊列的共同特點是( )。A、都是先進後出B、都是先進先出C、只允許在端點處插入和刪除元素D、沒有共同點第37題 (2.0) 分 引起循環隊列隊頭位置發生變化的操作是( )。A、入隊B、出隊C、取隊頭元素D、取隊尾元素第38題 (2.0) 分 設S=」abc」;T=」xyz」,則strcmp(S,T)的值為( )。A、正數 B、負數C、零D、不確定第39題 (2.0) 分 關於十字鏈表中的敘述,錯誤的是( )。A、便於查找每一行或列的非零元素B、每行、每列的非零元素分別組成行鏈表、列鏈表C、C.十字鏈表是一種多重鏈表D、行鏈表、列鏈表的頭結點不能共用第40題 (2.0) 分若下圖表示某廣義表,則它是一種( )。A、線性表ì再入表ì純表ì遞歸表B、線性表ì純表ì遞歸表ì再入表C、純表ì線性表ì再入表ì遞歸表D、線性表ì純表ì再入表ì遞歸表第41題 (1.0) 分 在數據結構中,演算法的空間耗費包括代碼和數據兩部分。對錯第42題 (1.0) 分順序表不需存放指針,鏈表要存放指針,故鏈表的存儲空間要求總是比順序表大。對錯第43題 (1.0) 分 開散列表和閉散列表的裝填因子都可大於、等於或小於1對錯第44題 (1.0) 分 任何樹或林都可轉化為二叉樹,反之,二叉樹可轉化為任何樹或林。對錯第45題 (1.0) 分 在線索二叉樹上,求結點的(遍歷)前趨和後繼時可利用線索得到,即不必進行遍歷了。對錯第46題 (1.0) 分 無向圖中邊數等於鄰接矩陣中1的個數的一半;也等於鄰接表中的邊表結點數的一半對錯第47題 (1.0) 分 直接插入排序是穩定的,而Shell排序就是調用若干趟直接插入排序,故也是穩定的。對錯第48題 (1.0) 分 圖G的生成樹T是G的子圖。對錯第49題 (1.0) 分 設串的長度為n,則其子串個數為n(n+1)/2。對錯第50題 (1.0) 分 廣義表不僅是線性表的推廣,也是樹的推廣。對錯第51題 (1.0) 分 數組各元素在內存中連續存放,故前後相鄰的兩元素物理地址相差為1或-1。對錯第52題 (1.0) 分 演算法的時間復雜性是指在計算機上的實際運行時間。對錯第53題 (1.0) 分 單鏈表中取第i個元素的時間與i成正比。對錯第54題 (1.0) 分 在二叉排序樹中,即使刪除一個結點後馬上再插入該結點,該二叉排序樹的形態也可能不同。對錯第55題 (1.0) 分 不可能有二叉樹的任何遍歷次序是相同的。對錯第56題 (1.0) 分 不管樹的深度和形態如何,也不可能構造出一棵有100個結點的哈夫曼樹。對錯第57題 (1.0) 分 如果n個頂點的無向圖有n條邊,則圖中肯定有迴路。對錯第58題 (1.0) 分 有向圖中頂點i的出度等於鄰接矩陣中第i行中1的個數;入度等於第i列中1的個數。對錯第59題 (1.0) 分 堆排序是一種巧妙的樹型選擇排序。對錯
希望對你能有所幫助。

熱點內容
python查看進程 發布:2024-05-19 22:59:37 瀏覽:158
androidhtml顏色 發布:2024-05-19 22:58:34 瀏覽:847
米3系統存儲和內存設備 發布:2024-05-19 22:50:50 瀏覽:214
途樂有哪些越野配置 發布:2024-05-19 22:49:53 瀏覽:673
php檢測變數 發布:2024-05-19 22:45:31 瀏覽:322
結構與演算法 發布:2024-05-19 22:32:22 瀏覽:588
ubuntuphp版本 發布:2024-05-19 21:59:12 瀏覽:929
解壓文案館 發布:2024-05-19 21:58:54 瀏覽:871
蘇寧訪問數 發布:2024-05-19 21:53:49 瀏覽:581
濕地下載ftp 發布:2024-05-19 21:46:10 瀏覽:487