源碼表示方式
『壹』 源代碼是什麼格式
問題一:代碼是什麼格式啊? 表述不清,沒指明是什麼的代碼。
代碼就是程序員用開發工具所支持的語言散頃寫出來的源文件,是一組由字元、符號或信號碼元以離散形式表示信息的明確的規則體系。代碼設計的原則包括惟一確定性、標准化和通用性、可擴充性與穩定性、便於識別與記憶、力求短小與格式統一以及容易海改等。源代碼是代碼的分支,某種意義上來說,源代碼相當於代碼。現代程序語言中,源代碼可以書籍或磁帶形式出現,但最為常用格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼最終目的是將人類可讀文本翻譯成為計算機可執行的二進制指令,這種過程叫編譯,通過編譯器完成。
比如:主沖譽陸流的病毒的代碼是多用 VB語言編寫的,病毒多為組合式的,其中一個文件的後綴名為 .vbs ,.vbs就是這個文件的格式
問題二:java源程序什麼格式 Java程序使用下列文件後綴:
文件類別
文件後綴
Java源文件
.java
Java位元組碼文件
.class
2.2 常用文件名(monFile Names)
常用的文件名包括:
文件名
用途
GNUmakefile
makefiles的首選文件名。我們採用gnumake來創建(build)軟體。
README
概述特定目錄下所含內容的文件的首選文件名。
3. 文件組織(FileOrgnization)
一個文件由被空行分割而成的段落以及標識每個段落的可選注釋共同組成。超過2000行的程序難以閱讀,應該盡量避免。「Jav源文件範例」提供了一個頁面布局合理的Java程序範例。
問題三:源代碼什麼意思 源代碼什麼意思
1、源代碼虛者示例源程序是指未編譯的按照一定的程序設計語言規范書寫的文本文件。
源代碼(也稱源程序),是指一系列人類可讀的計算機語言指令。 在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼的最終目的是將人類可讀的文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,通過編譯器完成。
2、源程序是指未編譯的按照一定的程序設計語言規范書寫的文本文件。 源代碼(也稱源程序),是指一系列人類可讀的計算機語言指令。 在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼的最終目的是將人類可讀的文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,通過編譯器完成。
3、影片《源代碼》是由鄧肯・瓊斯執導,傑克・吉倫哈爾、維拉・法米加、米歇爾・莫娜漢、傑弗里・懷特、拉塞爾・皮特斯等人聯袂出演。影片於2011年4月1日在美國上映。
影片講述了一位在阿富汗執行任務的美國空軍飛行員柯爾特・史蒂文斯,醒來時發現自己正處在一輛前往芝加哥的火車上,並就此經歷的一系列驚心動魄的事件。
問題四:C語言源程序文件的後綴是什麼? C語言源程序文件的後綴是「.C」,經過編譯後生成文件的後綴是「矗exe」,經過鏈接後生成文件的後綴「.obj」
問題五:HTML源代碼是什麼? 嗯嗯、HTML是用來做網站的一種語言哈、這樣吧、你打開一個網頁、然後再網頁任何一個地方點擊滑鼠右鍵、然後選擇「查看源文件」、點擊過後將以記事本的形式打開、裡面的就全是HTML代碼哈、看看吧、希望對你有所幫助!至於怎麼使用這個就有專門的教程了哈、你到百海文庫裡面找找教程嘛、
問題六:網路游戲的源代碼是什麼格式? 沒有固定格式的,看程序員的愛好
問題七:代碼是什麼 代碼(Source code),也稱源程序,是指一系列人類可讀的計算機語言指令。在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼的最終目的是將人類可讀的文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,通過編譯器完成。
問題八:PHP的基本代碼格式是什麼? 開始結束,和C語言基本格式是一樣的,差別就在:變數前面必須家$,區分大小寫
問題九:請問用C語言編寫程序的格式是什麼? #includeint main(){ char i; ------------------------return 0;} -------------------輸入輸出頭文件不能缺少、否則不能調用輸入輸出函數、還有其他函數--------------------要有main函數、可以嘩void main 沒有返回值的 也可以是int main 但是返回值是return 0;
問題十:網店模板模塊源代碼一般格式什麼開頭什麼結尾 標簽這個是互聯網網頁的組織形式,但是淘寶的自定義區域一般不需要加的,淘寶的自定義模塊頭都已經寫了這些默認的標簽的,所以不需要加的
2,自定義模塊直接可以添加布局也是可以的,通用的布局方式
『貳』 java中int類型最小值的二進制原碼和補碼表示方式
反碼補碼的規則,對int最小值沒有用,最小值的源碼是1個1,31個0,反碼之後是32個1,直接變成-1了,補碼加1變成0
『叄』 源碼的書寫規則
Delphi 源碼格式書寫規范 學任何一門語言,都要注意源碼格式書寫規范.下面說說Delphi 源碼格式書寫規范.1.規范簡介
本規范主要規定Delphi源程序在書寫過程中所應遵循的規則及注意事項。編寫該規范的目的是使公司軟體開發人員的源代碼書寫習慣保持一致。這樣做可以使每一個組員都可以理解其它組員的代碼,以便於源代碼的二次開發記憶系統的維護。
2.一般格式規范
2.1縮進
縮進就是在當源程序的級改變時為增加可讀性而露出的兩個空格。縮進的規則為每一級縮進兩個空格。不準許使用Tab。因為Tab會因為用戶所作的設置不同而產生不同的效果。當遇到begin 或進入判斷、循環、異常處理、with語句、記錄類型聲明、類聲明等的時侯增加一級, 當遇到end或退出判斷、循環、異常處理、with語句、記錄類型聲明、類聲明等的時侯減少一級。例如:
if TmpInt <> 100 then
TmpInt := 100;
2.2 Begin..End
begin語句和end語句在源程序中要獨佔一行,例如:
for I := 0 to 10 do begin //不正確的用法
end;
for I := 0 to 10 do //正確的用法
begin
end;
2.3空格
在操作符及邏輯判斷符號的兩端添加空格,例如:I := I + 1;,a and b 等,但添加括弧時不需要空格。例如:if ( a > b ) then //錯誤的用法
If (a > b) then //正確的用法
又例如:procere Test(Param1: integer; Param3: string);
3. Object Pascal語法書寫格式規范
3.1保留字
Object Pascal 語言的保留字或關鍵詞應全部使用小寫字母。
3.2過程和函數
3.2.1命名及格式
過程和函數的名稱應全部使用有意義的單片語成,並且所有單詞的第一個字母應該使用大寫字母。例如:
procere formatharddisk;//不正確的命名
procere FormatHardDisk;//正確的命名
設置變數內容的過程和函數,應使用Set作為前綴,例如:
procere SetUserName;
讀取變數內容的過程和函數,應使用Get作為前綴,例如:
function GetUserName: string;
3.2.2 過程和函數的參數
3.2.2.1命名
統一類型的參數寫在同一句中:
procere Foo(Param1, Param2, Param3: Integer; Param4: string);
3.2.2.2命名
所有參數必須是有意義的;並且當參數名稱和其它屬性名稱重了的時候,加一個前綴'A', 例如:
procere SomeProc(AUserName: string; AUserAge: integer);
3.2.2.3命名沖突
當使用的兩個unit中包括一個重名的函數或過程時, 那幺當你引用這一函數或過程時,將執行在use 子句中後聲明的那個unit中的函數或過程。為了避免這種'uses-clause-dependent'需要在引用函數或過程時,寫完整函數或過程的出處。例如:
SysUtils.FindClose(SR);
Windows.FindClose(Handle);
3.3 變數
3.3.1 變數命名及格式
首先所有變數必須起有意義的名字,使其它組員可以很容易讀懂變數所代表的意義,變數命名可以採用同義的英文命名,可使用幾個英文單詞,但每一單詞的首字母必須大寫。例如:
var
WriteFormat::string;
同時對於一些特定類型可採用一定的簡寫如下:
指針類型
P 紀錄類型
Rec 數組類型
Arr 類
Class 循環控制變數通常使用單一的字元如:i, j, 或 k。 另外使用一個有意義的名字例如:UserIndex ,也是准許的。
3.3.2 局部變數
在過程中使用局部變數遵循所有其它變數的命名規則。
3.3.3 全局變數
盡量不使用全局變數,如必須使用全局變數則必須加前綴'g',同時應在變數名稱中體現變數的類型。例如:
gprecUserCount: point;//名稱為UserCount的全局變數,其類型為指向一結構的指針
但是在模塊內部可以使用全局變數。所有模塊內全局變數必須用'F'為前綴。如果幾個模塊之間需要進行資料交換,則需要通過聲明屬性的方法來實現。例如:
type
TFormOverdraftReturn = class(TForm)
private
{ Private declarations }
FuserName: string;
FuserCount: Integer;
Procere SetUserName(Value: string);
Function GetUserName: string;
public
{ Public declarations }
property UserName: string read GetUserName write SetUserName;
property UserCount: Integer read FuserCount write FuserCount;
end;
3.4類型
3.4.1 大小寫協議
保留字的類型名稱必須全部小寫。Win32 API 的類型通常全部大寫,對於其它類型則首字母大寫,其餘字母小寫,例如:
var
MyString: string; // reserved word
WindowHandle: HWND; // Win32 API type
I: Integer; // type identifier introced in System unit
3.4.2 浮點類型
盡量不使用 Real 類型,他只是為了和舊的Pascal代碼兼容,盡量使用Double 類型。Double 類型是對處理器和數據匯流排做過最優化的並且是IEEE定義的標准數據結構。當數值超出Double的范圍時,使用Extended 。但Extended不被Jave支持。但使用其它語言編寫的DLL時可能會使用Single 類型。
3.4.3 枚舉類型
枚舉類型的名字必須有意義並且類型的名字之前要加前綴'T'。枚舉類型的內容的名字必須包含枚舉類型名稱的簡寫,例如:
TSongType = (stRock, stClassical, stCountry, stAlternative, stHeavyMetal, stRB);
3.4.4 數組類型
數組類型的名字必須有意義並且類型的名字之前要加前綴'T'。如果聲明一個指向數組類型的指針必須在該類型的名字之前加前綴'P',例如:
type
PCycleArray = ^TCycleArray;
TCycleArray = array[1..100] of integer;
3.4.5記錄類型
記錄類型的名字必須有意義並且類型的名字之前要加前綴'T'。如果聲明一個指向數組類型的指針必須在該類型的名字之前加前綴'P',例如:
type
PEmployee = ^TEmployee;
TEmployee = record
EmployeeName: string
EmployeeRate: Double;
end;
3.5類
3.5.1 命名及格式
類的名字必須有意義並且類型的名字之前要加前綴'T'。例如:
type
TCustomer = class(TObject)
類實例的名字通常是去掉'T'的類的名字。例如:
var
Customer: TCustomer;
3.5.2 類中的變數
3.5.2.1命名及格式
類的名字必須有意義並且類型的名字之前要加前綴'F'。所有的變數必須是四有的。如果需要從外部訪問此變數則需要聲明一屬性
3.5.3 方法
3.5.3.1命名及格式
同函數和過程的命名及格式。
3.5.3.2 屬性訪問方法
所有的屬性訪問方法必須出現在private 或 protected 中。屬性訪問方法的命名同函數和過程的命名另外讀方法(reader method)必須使用前綴'Get'. 寫方法(writer method)必須使用前綴'Set'。寫方法的參數必須命名為'Value',其類型同所要寫的屬性相一致。例如:
TSomeClass = class(TObject)
private
FSomeField: Integer;
protected
function GetSomeField: Integer;
procere SetSomeField( Value: Integer);
public
property SomeField: Integer read GetSomeField write SetSomeField;
end;
3.6屬性
3.6.1 命名及格式
同其用操作的,出去前綴'F'的類的變數的名稱相一致 。
3.7文件
3.7.1項目文件
3.7.1.1項目目錄結構
程序主目錄--Bin(應用程序所在路徑)
-Db(本地資料庫所在路徑)
-Doc(文檔所在路徑)
-Hlp(幫助文件所在路徑)
-Backup(備份路徑)
-Tmp(臨時文件路徑)
3.7.1.2命名
項目文件必須使用一個有意義的名字。例如: Delphi中系統信息的項目文件被命名為 SysInfo.dpr。
3.7.2 Form 文件
3.7.2.1命名
同Form的名稱相一致:例如:Form的名稱為FormMain則Form文件的名稱就為FormMain.frm。
3.7.3 Data Mole 文件
3.7.3.1命名
data mole文件的命名應該有意義,並且使用'DM'作為前綴。例如: 用戶data mole 被命名為'DMCustomers.dfm'。
3.7.4 Remote Data Mole 文件
3.7.4.1 命名
remote data mole文件的命名應該有意義,並且使用'RDM'作為前綴。例如:用戶remote data mole 被命名為'RDMCustomers.dfm'。
3.7.5 Unit文件
3.7.5.1普通 Unit
3.7.5.1.1 Unit文件命名
unit文件的命名應該有意義,並且使用'unit'作為前綴。例如: 通用unit 被命名為'UnitGeneral'。
3.7.5.2 Form Units
3.7.5.2.1命名
Form unit 文件的名字必須和Form的名稱保持一致。例如:主窗體叫FormMain.pas 則Form Unit文件的名字為:UnitFormMain。
3.7.5.3 Data Mole Units
3.7.5.3.1命名
Data Mole unit 文件的名字必須和Data Mole的名稱保持一致。例如:主Data Mole叫DMMain.pas 則Data Mole Unit文件的名字為:UnitDMMain。
3.7.5.4 文件頭
在所有文件的頭部應寫上此文件的用途,作者,日期及輸入和輸出。例如:
{
修改日期:
作者:
用途:
本模塊結構組成:
}
3.7.6 Forms和Data Moles Forms
3.7.6.1 Form類
1. Form類命名標准
Forms類的命名應該有意義,並且使用'TForm'作為前綴。例如: About Form類的名字為:
TAboutForm = class(TForm)
主窗體的名字為
TMainForm = class(TForm)
2. Form類實例的命名標准
Form 的類實例的名字應同期掉'T'的Form類的名字相一致。例如:
Type Name
Instance Name TaboutForm
AboutForm TmainForm
MainForm TCustomerEntryForm
CustomerEntryForm
3.7.6.2 Data Moles Form
3.7.6.2.1. Data Mole Form 命名標准
Data Moles Forms類的命名應該有意義,並且使用'TDM'作為前綴。例如:
TDMCustomer = class(TDataMole)
TDMOrders = class(TDataMole)
3.7.6.2.2. Data Mole 實例命名標准
Data Mole Form 的類實例的名字應同期掉'T'的Data Mole Form類的名字相一致。例如:
Type Name
Instance Name TCustomerDataMole
CustomerDataMole TordersDataMole
OrdersDataMole 3.8控制項
3.8.1 控制項實例的命名
控制項的實例應使用去掉'T'該控制項類的名稱作為前綴,例如:
輸入用戶姓名的Tedit的名字為:EditUserName。
3.8.2 控制項的簡寫
控制項的名稱可使用以下簡寫,但所用簡寫於控制項名稱之間葯添加'_':
3.8.2.1 Standard Tab
mm TMainMenu
pm TPopupMenu
mmi TMainMenuItem
pmi TPopupMenuItem
lbl TLabel
edt TEdit
mem TMemo
btn TButton
cb TCheckBox
rb TRadioButton
lb TListBox
cb TComboBox
scb TScrollBar
gb TGroupBox
rg TRadioGroup
pnl TPanel
cl TCommandList
3.8.2.2 Additional Tab
bbtn TBitBtn
sb TSpeedButton
me TMaskEdit
sg TStringGrid
dg TDrawGrid
img TImage
shp TShape
bvl TBevel
sbx TScrollBox
clb TCheckListbox
spl TSplitter
stx TStaticText
cht TChart
3.8.2.3 Win32 Tab
tbc TTabControl
pgc TPageControl
il TImageList
re TRichEdit
tbr TTrackBar
prb TProgressBar
ud TUpDown
hk THotKey
ani TAnimate
dtp TDateTimePicker
tv TTreeView
lv TListView
hdr THeaderControl
stb TStatusBar
tlb TToolBar
clb TCoolBar
3.8.2.4 System Tab
tm TTimer
pb TPaintBox
mp TMediaPlayer
olec TOleContainer
ddcc TDDEClientConv
ddci TDDEClientItem
ddsc TDDEServerConv
ddsi TDDEServerItem
3.8.2.5 Internet Tab
csk TClientSocket
ssk TServerSocket
wbd TWebDispatcher
pp TPageProcer
tp TQueryTableProcer
dstp TDataSetTableProcer
nmdt TNMDayTime
nec TNMEcho
nf TNMFinger
nftp TNMFtp
nhttp TNMHttp
nMsg TNMMsg
nmsg TNMMSGServ
nntp TNMNNTP
npop TNMPop3
nuup TNMUUProcessor
smtp TNMSMTP
nst TNMStrm
nsts TNMStrmServ
ntm TNMTime
nudp TNMUdp
psk TPowerSock
ngs TNMGeneralServer
html THtml
url TNMUrl
sml TSimpleMail
3.8.2.6 Data Access Tab
ds TDataSource
tbl TTable
qry TQuery
sp TStoredProc
db TDataBase
ssn TSession
bm TBatchMove
usql TUpdateSQL
3.8.2.7 Data Controls Tab
dbg TDBGrid
dbn TDBNavigator
dbt TDBText
dbe TDBEdit
dbm TDBMemo
dbi TDBImage
dblb TDBListBox
dbcb TDBComboBox
dbch TDBCheckBox
dbrg TDBRadioGroup
dbll TDBLookupListBox
dblc TDBLookupComboBox
dbre TDBRichEdit
dbcg TDBCtrlGrid
dbch TDBChart
3.8.2.8 Decision Cube Tab
dcb TDecisionCube
dcq TDecisionQuery
dcs TDecisionSource
dcp TDecisionPivot
dcg TDecisionGrid
dcgr TDecisionGraph
3.8.2.9 QReport Tab
qr TQuickReport
qrsd TQRSubDetail
qrb TQRBand
qrcb TQRChildBand
qrg TQRGroup
qrl TQRLabel
qrt TQRText
qre TQRExpr
qrs TQRSysData
qrm TQRMemo
qrrt TQRRichText
qrdr TQRDBRichText
qrsh TQRShape
qri TQRImage
qrdi TQRDBMImage
qrcr TQRCompositeReport
qrp TQRPreview
qrch TQRChart
3.8.2.10 Dialogs Tab
OpenDialog TOpenDialog
SaveDialog TSaveDialog
OpenPictureDialog TOpenPictureDialog
SavePictureDialog TSavePictureDialog
FontDialog TFontDialog
ColorDialog TColorDialog
PrintDialog TPrintDialog
PrinterSetupDialog TPrintSetupDialog
FindDialog TFindDialog
ReplaceDialog TReplaceDialog
3.8.2.11 Win31 Tab
dbll TDBLookupList
dblc TDBLookupCombo
ts TTabSet
ol TOutline
tnb TTabbedNoteBook
nb TNoteBook
hdr THeader
flb TFileListBox
dlb TDirectoryListBox
dcb TDriveComboBox
fcb TFilterComboBox
3.8.2.12 Samples Tab
gg TGauge
cg TColorGrid
spb TSpinButton
spe TSpinEdit
dol TDirectoryOutline
cal TCalendar
ibea TIBEventAlerter
3.8.2.13 ActiveX Tab
cfx TChartFX
vsp TVSSpell
f1b TF1Book
vtc TVTChart
grp TGraph
3.8.2.14 Midas Tab
prv TProvider
cds TClientDataSet
qcds TQueryClientDataSet
dcom TDCOMConnection
olee TOleEnterpriseConnection
sck TSocketConnection
rms TRemoteServer
mid TmidasConnection
4.修改規范
本規則所做的規定僅適用於已經納入配置管理的程序。在這類修改中,要求保留修改前的內容、並標識出修改和新增的內容。並在文件頭加入修改人、修改日期、修改說明等必要的信息。
4.1修改歷史記錄
對源文件進行經過批準的修改時,修改者應在程序文件頭加入修改歷史項。在以後的每一次修改時,修改者都必須在該項目中填寫下列信息:
修改人
修改時間
修改原因
修改說明即如何修改
4.2新增代碼行
新增代碼行的前後應有注釋行說明。
// 修改人,修改時間,修改說明
新增代碼行
// 修改結束
4.3刪除代碼行
刪除代碼行的前後用注釋行說明。
//修改人,修改時間,修改說明
//要刪除的代碼行(將要刪除的語句進行注釋)
//修改結束
4.4修改代碼行
修改代碼行以刪除代碼行後在新增代碼行的方式進行。
//修改人,修改時間,修改說明
//修改前的代碼行
//修改結束
//修改後的代碼行
修改後的代碼行
//修改結束
『肆』 計算機內部如何存儲數據,關於源碼、補碼的問題!
源碼,反碼,補碼是計算機原理的術語。說白了就是為了理解計算機2進制用的。對於C/C++來說,是和數據類型有關的。整型(包括
char
,short,
int,
long)都是用補碼方式表示有符號數的。
無符號數是使用源碼方式表示的。float和double類型是使用階碼移碼方式存儲數據的。
計算機內部是2進制存儲的,吧一個存儲看作一定類型的數據,就對應著這種類型的計算。
如果沒有類型作為依託,你的假設就不成立了,所以不能說它到底表示是幾。
如果是整型類型,因為第一個位是0,所以不論有符合還是無符號,它都是一個正數;那麼可以認為它表示十進制數字18
『伍』 「在計算機中,原碼和反碼不能表示 -1。」這種說法是否正確,為什麼
「在計算機中,原碼和反碼不能表示 -1。」,這種說法不正確。源碼和反碼都能表示-1。
[-1]原= 1000 0001。
[-1] = [10000001]原 = [11111110]反。
(5)源碼表示方式擴展閱讀:
計算機使用原碼和反碼的原因:
對於計算機, 加減乘數已經是最基礎的運算, 要設計的盡量簡單。計算機辨別"符號位"顯然會讓計算機的基礎電路設計變得十分復雜! 於是人們想出了將符號位也參與運算的方法.
根據運演算法則減去一個正數等於加上一個負數, 即: 1-1 = 1 + (-1) = 0 , 所以機器可以只有加法而沒有減法, 這樣計算機運算的設計就更簡單了。
於是人們開始探索 將符號位參與運算, 並且只保留加法的方法.。首先來看原碼:
計算十進制的表達式: 1-1=0
為了解決原碼做減法的問題, 出現了反碼:
1 - 1 = 1 + (-1) = [0000 0001]原+ [1000 0001]原= [0000 0001]反+ [1111 1110]反= [1111 1111]反= [1000 0000]原= -0
發現用反碼計算減法, 結果的真值部分是正確的. 而唯一的問題其實就出現在"0"這個特殊的數值上. 雖然人們理解上+0和-0是一樣的, 但是0帶符號是沒有任何意義的. 而且會有[0000 0000]原和[1000 0000]原兩個編碼表示0.
於是補碼的出現, 解決了0的符號以及兩個編碼的問題:
1-1 = 1 + (-1) = [0000 0001]原+ [1000 0001]原= [0000 0001]補+ [1111 1111]補= [0000 0000]補=[0000 0000]原
這樣0用[0000 0000]表示, 而以前出現問題的-0則不存在了.而且可以用[1000 0000]表示-128:
(-1) + (-127) = [1000 0001]原+ [1111 1111]原= [1111 1111]補+ [1000 0001]補= [1000 0000]補
-1-127的結果應該是-128, 在用補碼運算的結果中, [1000 0000]補就是-128. 但是注意因為實際上是使用以前的-0的補碼來表示-128, 所以-128並沒有原碼和反碼表示。
『陸』 原碼是什麼
問題一:什麼是原碼 原碼(true form)是一種計算機中對數字的二進制定點表示方法。原碼表示法在數值前面增加了一位符號位(即最高位為符號位),該位為0表示正數,該位為1表示負數,其純塌余位表示數值的大小。
原碼的優點:簡單直觀;例如,我們用8位二進製表示一個數,+11的原碼為00001011,-11的原碼就是10001011
缺點:原碼不能直接參加運算,可能會出錯。例如數學上,1+(-1)=0,而在二進制中00000001+10000001=10000010,換算成十進制為130。顯然出錯了。
所以原碼的符號位不能直接參與運算,必須和其他為分開,這就增加了硬體的開銷和復雜性
具體定義還分小數和整數:
①小數原碼的定義
[X] =
X 0≤X <1
1- X -1 < X ≤ 0
例如: X=+0.1011 , [X]原= 01011
X=-0.1011 [X]原= 11011
②整數原碼的定義
[X]原 =
X 0≤X <2n
2n-X - 2n < X ≤ 0
問題二:請問原碼和源碼有什麼區別? 20分 沒有區別。頂多是習慣性的:源代碼,更傾向於代碼、復雜高深的代碼。
源碼算是源代碼的簡稱,包括源代碼、及相關可直接運行的文件,即源文件。
一般情況下,源碼=源文件。
問題三:什麼是原碼,補碼,反碼 1)原碼表示 原碼表示法是機器數的一種簡單的表示法。其符號位用0表示正號,用:表示負號,數值一般用二進制形式表示。設有一數為x,則原碼表示可記作[x]原。 例如,X1= +1010110 X2= 一1001010 其原碼記作: [X1]原=[+1010110]原=01010110 [X2]原=[-1001010]原=11001010 在原碼表示法中,對0有兩種表示形式: [+0]原=00000000 [-0] 原=10000000 2)補碼表示 機器數的補碼可由原碼得到。如果機器數是正數,則該機器數的補碼與原碼一樣;如果機器數是負數,則該機器數的補碼是對它的原碼(除符號位外)各位取反,並在未位加1而得到的。設有一數X,隱悔則X的補碼表示記作[X]補。 例如,[X1]=+1010110 [X2]= 一1001010 [X1]原=01010110 [X1]補=01010110 即 [X1]原=[X1]補=01010110 [X2] 原= 11001010 [X2] 補=10110101+1=10110110 機器數的補碼可由原碼得到。如果機器數是正數,則該機器數的補碼與原碼一樣;如果機器數做攜圓是負數,則該機器數的補碼是對它的原碼(除符號位外)各位取反,並在未位加1而得到的。設有一數X,則X的補碼表示記作[X]補。 例如,[X1]=+1010110 [X2]= 一1001010 [X1]原=01010110 [X1]補=01010110 即 [X1]原=[X1]補=01010110 [X2] 原= 11001010 [X2] 補=10110101+1=10110110 (3)反碼表示法 機器數的反碼可由原碼得到。如果機器數是正數,則該機器數的反碼與原碼一樣;如果機器數是負數,則該機器數的反碼是對它的原碼(符號位除外)各位取反而得到的。設有一數X,則X的反碼表示記作[X]反。 例如:X1= +1010110 X2= 一1001010 [X1]原=01010110 [X1]反=[X1]原=01010110 [X2]原=11001010 [X2]反=10110101 反碼通常作為求補過程的中間形式,即在一個負數的反碼的未位上加1,就得到了該負數的補碼。 例1. 已知[X]原=10011010,求[X]補。 分析如下: 由[X]原求[X]補的原則是:若機器數為正數,則[X]原=[X]補;若機器數為負數,則該機器數的補碼可對它的原碼(符號位除外)所有位求反,再在未位加1而得到。現給定的機器數為負數,故有[X]補=[X]原十1,即 [X]原=10011010 [X]反=11100101+1 [X]補=11100110 例2. 已知[X]補=11100110,求[X]原。 分析如下: 對於機器數為正數,則[X]原=[X]補 對於機器數為負數,則有[X]原=[[X]補]補 現給定的為負數,故有: [X]補=11100110 [[X]補]反=10011001+1 [[X]補]補=10011010=[X]原+1 [[X]補]補=10011010=[X]原 總結一下,原碼(為負時,正時都不變)全部取反即得到反碼,反碼加 1就得到補碼了,就是這么簡單。
問題四:一個二進制數11010100的原碼,補碼是什麼? 計算機里表示正負不是用+、-號表示的
11010100如果是原碼就沒有所謂的+或-
因為原碼的最高位表示的是符號位,1為負數,0為正數
負數的補碼是除符號外其餘各位按位取反後加1,為10101100
如果11010100是二進制碼
它本身是個正數,它的原碼要看用幾位二進製表示,如果是八位就超出范圍了因為最高位要作為符號位後七位才能用來表示數值,用十六的二進製表示則最高位用0表示,數值前多出的用0補則11010100的十六位二進制原碼為0000000011010100,正數的補碼就是原碼
而-11010100的十六位二進制原碼最高位符號位後面的作為數值位補0,則1000000011010100,負數的補碼則是符號位不變其餘各位按位取反最後末尾加1,則有-11010100的十六位二進制補碼為1111111100101100
問題五:1,0001011的原碼是什麼 如果是8位的話,第一位表示符號位,
負數為1,正數為0,
-1原碼就是 10000001
第一個1對應於負號,
最後一個1對應於「2的零次方」=1
就是這樣算的,換成二進製表示再加個符號位而已
問題六:-1.1的原碼是什麼 如果-1.1是真值的話,那他的原碼為:11.1
問題七:原碼這里,是什麼意思 源代碼(也稱源程序),是指一系列人類可讀的計算機語言指令。 在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼的最終目的是將人類可讀的文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,通過編譯器完成。 代碼組合 源代碼作為軟體的特殊部分,可能被包含在一個或多個文件中。一個程序不必用同一種格式的源代碼書寫。例如,一個程序如果有C語言庫的支持,那麼就可以用C語言;而另一部分為了達到比較高的運行效率,則可以用匯編語言編寫。 較為復雜的軟體,一般需要數十種甚至上百種的源代碼的參與。為了降低種復雜度,必須引入一種可以描述各個源代碼之間聯系,並且如何正確編譯的系統。在這樣的背景下,修訂控制系統(RCS)誕生了,並成為研發者對代碼修訂的必備工具之一。 還有另外一種組合:源代碼的編寫和編譯分別在不同的平台上實現,專業術語叫做軟體移植。 質量 對於計算機而言,並不存在真正意義上的「好」的源代碼;然而作為一個人,好的書寫習慣將決定源代碼的好壞。源代碼是否具有可讀性,成為好壞的重要標准。軟體文檔則是表明可讀性的關鍵。 源代碼主要功用有如下貳種作用: 依、生成目標代碼,即計算機可以識別的代碼。 貳、對軟體進行說明,即對軟體的編寫進行說明。為數不少的初學者,甚至少數有經驗的程序員都忽視軟體說明的編寫,因為這部分雖然不會在生成的程序中直接顯示,也不參與編譯。但是說明對軟體的學習、分享、維護和軟體復用都有巨大的好處。因此,書寫軟體說明在業界被認為是能創造優秀程序的良好習慣,一些公司也硬性規定必須書寫。 (需要指出的是,源代碼的修改不能改變已經生成的目標代碼。如果需要目標代碼做出相應的修改,必須重新編譯。 ) 如果按照源代碼類型區分軟體,通常被分為兩類:自由軟體和非自由軟體。自由軟體一般是不僅可以免費得到,而且公開源代碼;相對應地,非自由軟體則是不公開源代碼。所有一切通過非正常手段獲得非自由軟體源代碼的行為都將被視為非法
問題八:-11011011的原碼,補碼,反碼分別是什麼 -91原碼:11011011反碼:10100100補碼:10100101-80原碼:11010000反碼:10101111補碼:10110000-73原碼:11001001反碼:10110110補碼:10110111-53原碼:1110101反碼:1001010補碼:1001011真值為正時。其原碼,反碼,補碼完全相同。真值為負時,其原碼就是把負號改為1,其餘不變。反碼就是負號改為1,其餘取反。補碼就是在反碼的基礎上加1,加1時記得是逢2進1。
問題九:原碼,反碼和補碼表示的規則分別是什麼 一. 機器數和真值
在學習原碼, 反碼和補碼之前, 需要先了解機器數和真值的概念.
1、機器數
一個數在計算機中的二進製表示形式, 叫做這個數的機器數。機器數是帶符號的,在計算機用一個數的最高位存放符號, 正數為0, 負數為1.
比如,十進制中的數 +3 ,計算機字長為8位,轉換成二進制就是00000011。如果是 -3 ,就是 10000011 。
那麼,這里的 00000011 和 10000011 就是機器數。
2、真值
因
為第一位是符號位,所以機器數的形式值就不等於真正的數值。例如上面的有符號數 10000011,其最高位1代表負,其真正數值是 -3
而不是形式值131(10000011轉換成十進制等於131)。所以,為區別起見,將帶符號位的機器數對應的真正數值稱為機器數的真值。
例:0000 0001的真值 = +000 0001 = +1,1000 0001的真值 = C000 0001 = C1
二. 原碼, 反碼, 補碼的基礎概念和計算方法.
在探求為何機器要使用補碼之前, 讓我們先了解原碼, 反碼和補碼的概念.對於一個數, 計算機要使用一定的編碼方式進行存儲. 原碼, 反碼, 補碼是機器存儲一個具體數字的編碼方式.
1. 原碼
原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其餘位表示值. 比如如果是8位二進制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
第一位是符號位. 因為第一位是符號位, 所以8位二進制數的取值范圍就是:
[1111 1111 , 0111 1111]
即
[-127 , 127]
原碼是人腦最容易理解和計算的表示方式.
2. 反碼
反碼的表示方法是:
正數的反碼是其本身
負數的反碼是在其原碼的基礎上, 符號位不變,其餘各個位取反.
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
可見如果一個反碼表示的是負數, 人腦無法直觀的看出來它的數值. 通常要將其轉換成原碼再計算.
3. 補碼
補碼的表示方法是:
正數的補碼就是其本身
負數的補碼是在其原碼的基礎上, 符號位不變, 其餘各位取反, 最後+1. (即在反碼的基礎上+1)
[+1] = [00000001]原 = [00000001]反 = [00000001]補
[-1] = [10000001]原 = [11111110]反 = [11111111]補
對於負數, 補碼表示方式也是人腦無法直觀看出其數值的. 通常也需要轉換成原碼在計算其數值.
問題十:6的原碼 反碼 補碼分別是什麼? 源碼、反碼、補碼都是00000110
『柒』 源碼和圖像格式字母是怎麼表示的,如果電腦上沒有怎麼安裝
視頻和圖象是兩回事
視頻文件格式可以分為適合本地播放的本地影像視頻和適合在網路中播放的網路流媒體影像視頻兩大類,這里非常值得一提的是:盡管後者在播放的穩定性和播放畫面質量上可能沒有前者優秀,但網路流媒體影像視頻的廣泛傳播性使之正被廣泛應用於視頻點播、網路演示、遠程教育、網路視頻廣告等等互聯網信息服務領域。
一、本地視頻
MPEG
MPEG它的英文全稱為Moving Picture Expert Group,即運動圖像專家組格式,家裡常看的VCD、SVCD、DVD就是這種格式。MPEG文件格式是運動圖像壓縮演算法的國際標准,它採用了有損壓縮方法減少運動圖像中的冗餘信息,說的更加明白一點就是MPEG的壓縮方法依據是相鄰兩幅畫面絕大多數是相同的,把後續圖像中和前面圖像有冗餘的部分去除,從而達到壓縮的目的(其最大壓縮比可達到200:1)。目前MPEG格式有三個壓縮標准,分別是MPEG-1、MPEG-2、和MPEG-4,另外,MPEG-7與MPEG-21仍處在研發階段。
●MPEG-1:制定於1992年,它是針對1.5Mbps以下數據傳輸率的數字存儲媒體運動圖像及其伴音編碼而設計的國際標准。也就是我們通常所見到的VCD製作格式。使用MPEG-1的壓縮演算法,可以把一部120分鍾長的電影壓縮到1.2GB左右大小。這種視頻格式的文件擴展名包括.mpg、.mlv、.mpe、.mpeg及VCD光碟中的.dat文件等。
●MPEG-2:制定於1994年,設計目標為高級工業標準的圖像質量以及更高的傳輸率。這種格式主要應用在DVD/SVCD的製作(壓縮)方面,同時在一些HDTV(高清晰電視廣播)和一些高要求視頻編輯、處理上面也有相當的應用。使用MPEG-2的壓縮演算法,可以把一部120分鍾長的電影壓縮到4到8GB的大小。這種視頻格式的文件擴展名包括.mpg、.mpe、.mpeg、.m2v及DVD光碟上的.vob文件等。
●MPEG-4:制定於1998年,MPEG-4是為了播放流式媒體的高質量視頻而專門設計的,它可利用很窄的帶度,通過幀重建技術,壓縮和傳輸數據,以求使用最少的數據獲得最佳的圖像質量。目前MPEG-4最有吸引力的地方在於它能夠保存接近於DVD畫質的小體積視頻文件。另外,這種文件格式還包含了以前MPEG壓縮標准所不具備的比特率的可伸縮性、動畫精靈、交互性甚至版權保護等一些特殊功能。這種視頻格式的文件擴展名包括.asf、.mov和DivX AVI等。
●(小提示:細心的用戶一定注意到了,這中間怎麼沒有MPEG-3編碼?實際上,大家熟悉的MP3就是採用的MPEG-3(MPEG Layeur3)編碼。)
AVI
AVI格式:它的英文全稱為Audio Video Interleaved,即音頻視頻交錯格式。它於1992年被Microsoft公司推出,隨Windows3.1一起被人們所認識和熟知。所謂「音頻視頻交錯」,就是可以將視頻和音頻交織在一起進行同步播放。這種視頻格式的優點是圖像質量好,可以跨多個平台使用,其缺點是體積過於龐大,而且更加糟糕的是壓縮標准不統一,最普遍的現象就是高版本Windows媒體播放器播放不了採用早期編碼編輯的AVI格式視頻,而低版本Windows媒體播放器又播放不了采凱飢鎮用最新編碼編輯的AVI格式視頻,所以我們在進行一些AVI格式的視頻播放時常會出現由於視頻編碼問題而造成的視頻不能播放或即使能夠播放,但存在不能調節播放進度和播放時只有聲音沒有畫面等一些莫名其妙的問題,如果用戶在進行AVI格式的視頻播放時遇到了這些問題,可以通過下載相應的盯粗解碼器來解決。
NAVI
nAVI格式:nAVI是newAVI的縮寫,是一個名為Shadow Realm的地下組織發展起來的一種新視頻格式(與AVI格式沒有太大聯系)。它是由Microsoft ASF壓縮演算法的修改而來的,但是又與網路影像視頻中的ASF視頻格式有所區別,它以犧牲原有ASF視頻文件視頻「流」特性為代價而通過增加幀率來大幅提高ASF視頻文件的清晰度。概括起來可以說,NAVI就是一種去掉視頻流特性的改良型肢余ASF格式!或者說,就是非網路版的ASF!
DV-AV
DV-AVI格式:DV的英文全稱是Digital Video Format,是由索尼、松下、JVC等多家廠商聯合提出的一種家用數字視頻格式。目前非常流行的數碼攝像機就是使用這種格式記錄視頻數據的。它可以通過電腦的IEEE 1394埠傳輸視頻數據到電腦,也可以將電腦中編輯好的的視頻數據回錄到數碼攝像機中。這種視頻格式的文件擴展名一般是.avi,所以也叫DV-AVI格式。
DIVX
DivX格式:這是由MPEG-4衍生出的另一種視頻編碼(壓縮)標准,也即我們通常所說的DVDrip格式,它採用了MPEG4的壓縮演算法同時又綜合了MPEG-4與MP3各方面的技術,說白了就是使用DivX壓縮技術對DVD碟片的視頻圖像進行高質量壓縮,同時用MP3或AC3對音頻進行壓縮,然後再將視頻與音頻合成並加上相應的外掛字幕文件而形成的視頻格式。其畫質直逼DVD並且體積只有DVD的數分之一。這種編碼對機器的要求也不高,所以DivX視頻編碼技術可以說是一種對DVD造成威脅最大的新生視頻壓縮格式,號稱DVD殺手或DVD終結者。
使用這種據說是美國禁止出口的編碼技術壓縮一部DVD只需要2張CD-ROM!這就意味著你不需要DVD-ROM也可以得到和它差不多的視頻質量了,而這一切只需要你有CD-ROM就可以了。況且播放這種編碼,對機器的要求並不是很高,CPU 只要是300MHZ以上,再配上64M的內存和一個8M的顯卡就可以流暢地播放了。這絕對是一個了不起的技術,前途不可限量!
QUICKTIME
MOV格式:美國Apple公司開發的一種視頻格式,默認的播放器是蘋果的QuickTime Player。在很長的一段時間里,它都只是在蘋果公司的MAC機上存在。後來才發展到支持Windows平台的,它無論是在本地播放還是作為視頻流格式在網上傳播,都是一種優良的視頻碼格式。目前為止它共有4個版本,其中以4.0版本的壓縮率最好!
該格式具有較高的壓縮比率和較完美的視頻清晰度等特點,但其最大的特點還是跨平台性,即不僅支持MacOS,同樣也支持Windows系列。
二、網路視頻
3GP
3GP是一種3G流媒體的視頻編碼格式,主要是為了配合3G網路的高傳輸速度而開發的一種媒體格式,具有很高的壓縮比,特別用於手機上觀看電影,也是目前手機中最為常見的一種視頻格式。
WMV
WMV格式:它的英文全稱為Windows Media Video,也是微軟推出的一種採用獨立編碼方式並且可以直接在網上實時觀看視頻節目的文件壓縮格式。WMV格式的主要優點包括:本地或網路回放、可擴充的媒體類型、部件下載、可伸縮的媒體類型、流的優先順序化、多語言支持、環境獨立性、豐富的流間關系以及擴展性等。
ASF
ASF格式:它的英文全稱為Advanced Streaming Format,字面意「高級流格式」。它是微軟為了和現在的Real Player競爭而推出的一種視頻格式,可以直接在網上觀看視頻節目,用戶可以直接使用Windows自帶的Windows Media Player對其進行播放。由於它使用了MPEG-4的壓縮演算法,所以壓縮率和圖像的質量都很不錯,但畫質比VCD要差一點,比RAM要好一點。高壓縮率有利於視頻流的傳輸,但畫質肯定會有損失,所以有時候ASF格式的畫面質量不如VCD是正常的。不過如果不考慮在網上傳播,選擇最高的質量來壓縮文件的話,其生成的視頻文件仍會比VCD(MPEG1)好的,但這樣也就失去了ASF本來的發展初衷。
REAL VIDEO
Real Video格式一開始就是定位在視頻流應用方面的,也可以說是視頻流技術的創始者。它可以在用56K MODEN撥號上網的條件下實現不間斷的視頻播放,當然,其畫面質量和MPEG-2、DIVX等比是不敢恭維的了!畢竟要實現在網上傳輸不間斷的視頻是需要很大的頻寬的,這方面ASF是它的有力競爭者!
●RM格式:Real Networks公司所制定的音頻視頻壓縮規范稱為Real Media,用戶可以使用RealPlayer或RealOne Player對符合Real Media技術規范的網路音頻/視頻資源進行實況轉播並且Real Media可以根據不同的網路傳輸速率制定出不同的壓縮比率,從而實現在低速率的網路上進行影像數據實時傳送和播放。這種格式的另一個特點是用戶使用RealPlayer或RealOne Player播放器可以在不下載音頻/視頻內容的條件下實現在線播放。另外,RM作為目前主流網路視頻格式,它還可以通過其Real Server伺服器將其它格式的視頻轉換成RM視頻並由Real Server伺服器負責對外發布和播放。RM和ASF格式可以說各有千秋,通常RM視頻更柔和一些,而ASF視頻則相對清晰一些。
●RMVB格式:這是一種由RM視頻格式升級延伸出的新視頻格式,它的先進之處在於RMVB視頻格式打破了原先RM格式那種平均壓縮采樣的方式,在保證平均壓縮比的基礎上合理利用比特率資源,就是說靜止和動作場面少的畫面場景採用較低的編碼速率,這樣可以留出更多的帶寬空間,而這些帶寬會在出現快速運動的畫面場景時被利用。這樣在保證了靜止畫面質量的前提下,大幅地提高了運動圖像的畫面質量,從而圖像質量和文件大小之間就達到了微妙的平衡。另外,相對於DVDrip格式,RMVB視頻也是有著較明顯的優勢,一部大小為700MB左右的DVD影片,如果將其轉錄成同樣視聽品質的RMVB格式,其個頭最多也就400MB左右。不僅如此,這種視頻格式還具有內置字幕和無需外掛插件支持等獨特優點。要想播放這種視頻格式,可以使用RealOne Player2.0或RealPlayer8.0加RealVideo9.0以上版本的解碼器形式進行播放。
圖象格式主要有以下幾種
GIF格式
GIF表示圖象交換格式(Graphics 1nterchange Format),它是一種256色的圖象格式。
JPEG格式
它是按Joint Photo Graphic Experts Group制定的壓縮標准產生的壓縮格式,可以用不同的壓縮比例對這種文件壓縮,其壓縮技術十分先進,對圖象質量影響不大,因此可以用最少的磁碟空間得到較好的圖象質量,所以應用非常廣泛,而在Internet上,它更是主流圖形格式。
JPEG可支持多達16M顏色,因此它非常適用於攝影圖象以及在24一bit顏色顯示模式下工作的瀏覽器。JPEG還具有調節圖象質量的模式,允許你選擇高質量、幾乎無損的壓縮(文件尺寸相應較大)或低質量、丟失圖象信息的有損壓縮(但是圖象文件規模小得多)。
JPEG2000格式
JPEG 2000同樣是由JPEG 組織負責制定的,它有一個正式名稱叫做"ISO 15444",與JPEG相比,它具備更高壓縮率以及更多新功能的新一代靜態影像壓縮技術。
JPEG2000 作為JPEG的升級版,其壓縮率比JPEG高約30%左右。與JPEG不同的是,JPEG2000 同時支持有損和無損壓縮,而 JPEG 只能支持有損壓縮。無損壓縮對保存一些重要圖片是十分有用的。JPEG2000的一個極其重要的特徵在於它能實現漸進傳輸,這一點與GIF的"漸顯"有異曲同工之妙,即先傳輸圖像的輪廓,然後逐步傳輸數據,不斷提高圖像質量,讓圖象由朦朧到清晰顯示,而不必是像現在的 JPEG 一樣,由上到下慢慢顯示。
此外,JPEG2000還支持所謂的"感興趣區域"特性,你可以任意指定影像上你感興趣區域的壓縮質量,還可以選擇指定的部份先解壓縮。 JPEG 2000 和 JPEG 相比優勢明顯,且向下兼容,因此取代傳統的JPEG格式指日可待。
BMP格式
該格式在Windows環境下使用得最為廣泛,而且使用時最不容易出問題。最典型的應用BMP格式的程序就是Windows的畫筆。文件不壓縮,佔用磁碟空間較大,它的顏色存儲格式有1位、4位、8位及24位,該格式是當今應用比較廣泛的一種格式。但由於該格式文件尺寸相對來說比較大,所以只能應用在單機上,而在Internet上考慮到速度方面的因素,一般不使用該格式的圖象。
PCX格式
PCX格式是ZSOFT公司在開發圖像處理軟體Paintbrush時開發的一種格式,存儲格式從1位到24位,它是經過壓縮的格式,佔用磁碟空間較少。由於該格式出現的時間較長,並且具有壓縮及全彩色的能力,所以PCX格式現在仍是十分流行。
PSD格式
Adobe公司開發的圖像處理軟體Photoshop中自建的標准文件格式就是PSD格式,在該軟體所支持的各種格式中,PSD格式存取速度比其它格式快很多,功能也很強大。由於Photoshop軟體越來越廣泛地應用,所以這個格式也逐步流行起來。PSD格式是Photoshop的專用格式,裡面可以存放圖層、通道、遮罩等多種設計草稿。
TIFF格式
TIFF格式具有圖形格式復雜、存儲信息多的特點。3DS、3DS MAX中的大量貼圖就是TIFF格式的。TIFF最大色深為32bit,可採用LZW無損壓縮方案存儲。
PNG格式
PNG(Portable Network Graphics)是一種新興的網路圖形格式,結合了GIF和JPEG的優點,具有存儲形式豐富的特點。PNG最大色深為48bit,採用無損壓縮方案存儲。著名的Macromedia公司的Fireworks的默認格式就是PNG。
SVG格式
SVG是Scalable Vector Graphics的首字母縮寫,含義是可縮放的矢量圖形。它是一種開放標準的矢量圖形語言,可讓你設計激動人心的、高解析度的Web圖形頁面。該軟體提供了製作復雜元素的工具,如漸變、嵌入字體、透明效果、動畫和濾鏡效果,並且可使用平常的字體命令插入到HTML編碼中。SVG被開發的目的是為Web提供非柵格的圖像標准。
EPS格式
這種格式是POST SCRIPT所用的格式,用於排版、列印等輸出工作,它是PC機用戶較少 見的一種格式,而蘋果Mac機的用戶則用得較多。
TGA格式
TGA(Tagged Graphics)文件是由美國Truevision公司為其顯示卡開發的一種圖像文件格式,已被國際上的圖形、圖像工業所接受。TGA的結構比較簡單,屬於一種圖形、圖像數據的通用格式,在多媒體領域有著很大影響,是計算機生成圖像向電視轉換的一種首選格式。
LIC(FLI/FLC)格式
Flic格式由Autodesk公司研製而成,FLIC是FLC和FLI的統稱:FLI是最初的基於320×200解析度的動畫文件格式,而FLC則採用了更高效的數據壓縮技術,所以具有比FLI更高的壓縮比,其解析度也有了不少提高。
EMF格式
EMF(Enhanced Metafile)是微軟公司為了彌補使用WMF的不足而開發的一種Windows 32位擴展圖元文件格式,也屬於矢量文件格式,其目的是欲使圖元文件更加容易接受
WMF格式
WMF(Windows Metafile Format)是Windows中常見的一種圖元文件格式,屬於矢量文件格式。它具有文件短小、圖案造型化的特點,整個圖形常由各個獨立的組成部分拼接而成,其圖形往往較粗糙。
DXF格式
DXF(Autodesk Drawing Exchange Format)是AutoCAD中的矢量文件格式,它以ASCII碼方式存儲文件,在表現圖形的大小方面十分精確。許多軟體都支持DXF格式的輸入與輸出。
SWF格式
利用Flash我們可以製作出一種後綴名為SWF(Shockwave Format)的動畫。
DIB(Device Independent Bitmap)
dib是一種類似於bmp的圖形文件格式,描述圖像的能力與bmp基本相同,並且能夠運行在多種硬體平台上,只是文件較大。常見的各種PC圖形圖像軟體都能夠對其進行處理。
RLE(Run Length Compressed)
rle是一種壓縮過的點陣圖文件格式。RLE壓縮方案是一種極其成熟的壓縮方案,特點是無損失壓縮(Lossless),既節省了磁碟空間,又不損失任何圖像數據。但是,有利就有弊,在打開這種壓縮文件時,要花費更多的時間。此外,一些兼容性不太好的應用程序可能會打不開rle文件。
BW
bw是包含各種像素信息的一種黑白圖形文件格式。
CDR(CorelDraw)
cdr是CorelDraw中的一種矢量圖形文件格式。它是所有CorelDraw 應用程序中均能夠使用的一種圖形圖像文件格式。
COL(Color Map File)
col是由Autodesk Animator、Autodesk Animator Pro等程序創建的一種調色板文件格式,其中存儲的是調色板中各種項目的RGB值。
DWG
dwg是AutoCAD中使用的一種圖形文件格式。
DXB(drawing interchange binary)
dxb是AutoCAD創建的一種圖形文件格式。
ICO(Icon file)
ico是Windows的圖標文件格式。
IFF(Image File format)
iff是Amiga等超級圖形處理平台上使用的一種圖形文件格式,好萊塢的特技大片多採用該格式進行處理,可逼真再現原景。當然,該格式耗用的內存、外存等計算機資源也十分巨大。
LBM
lbm是Deluxe Paint中使用的一種圖形文件格式,其編碼方式類似於*.iff文件。
MAG
mag是日本人常用的一種圖形文件格式。
MAC(Macintosh)
mac是Macintosh中使用的一種灰度圖形文件格式,在Macintosh paintbrush中使用,其解析度只能是720×567。
MPT(Macintosh Paintbrush)
mpt是Macintosh中使用的一種圖形文件格式。
MSK(Mask Data File)
msk是Animator Pro中的一種圖形文件格式,其中包含一個點陣圖圖形。
OPT(Optics Menu Settings File)
是Animator Pro創建的圖形文件格式。
TWE(Tween Data File)
是Animator Pro創建的圖形文件格式。
PLY(Polygon File)
ply是Animator Pro創建的一種圖形文件格式,其中包含用來描述多邊形的一系列點的信息。
PBM/PGM/PPM(Portable Pixmap)
圖形文件格式。
PCD(Kodak PhotoCD)
pcd是一種Photo CD文件格式,由Kodak公司開發,其他軟體系統只能對其進行讀取。該格式主要用於存儲CD-ROM上的彩色掃描圖像,它使用YCC色彩模式定義圖像中的色彩。Photo CD圖像大多具有非常高的質量,將一卷膠卷掃描為Photo CD文件的成本並不高,但掃描的質量還要依賴於所用膠卷的種類和掃描儀使用者的操作水平。
PIC
pic是一種圖形文件格式,其中包含了未經壓縮的圖像信息。
PICT/PICT2/PNT
pict文件格式主要應用於Mac機上,也可在安裝了Quick Time的PC機上使用。該格式的文件不適用於列印,而經常用於多媒體項目。pict也是Mac應用軟體用於圖像顯示的格式之一。
PXR(PiXaR)
也許只有PIXAR工作站用戶才比較了解pxr這種文件格式,該格式支持灰度圖像和RGB彩色圖像。可在PhotoShop中打開一幅由PIXAR工作站創建的pxr圖像,也可以用pxr格式來存儲圖像文件,以便輸送到工作站上。
RAS(Sun Raster files)/raw(Raw GrayScale)
圖形文件格式。
WIN
win是類似於tga的一種圖形文件格式。
XBM(X BitMap)
xbm是一種圖形文件格式。
『捌』 軟體的源代碼是什麼意思
源代碼(也稱源程序)是指未編譯的按照一定的程序設計語言規范書寫的文本文件,是一系列人類可讀的計算機語言指令。 在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。計算機源代碼的最終目的是將人類可讀的文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,通過編譯器完成。
『玖』 機器數、真值、原碼、反碼是什麼意思啊
1、機器數
一個數在計算機中的二進製表示形式, 叫做這個數的機器數。機器數是帶符號的,在計算機用一個數的最高位存放符號, 正數0,負數為1。12
比如,十進制中的數 +3 ,計算機字長為8位,轉換成二進制就是0000 0011。如果是 -3 ,就是 1111 1101 。那麼,這里的 00000011 和 1111 1101 就是機器數。 機器數包含了符號和數值部分。
2、真值
因為第一位是符號位,所以機器數的形式值就不能很好的表示真正的數值。例如上面的有符號數 1111 1101,其最高位1代表負,其真正數值是
-3 而不是形肢寬棚式值253(1111
1101按無符號整數轉換成十進制等於253)。所以,為區別起見歷則,將帶符號位的機器數對應的真正數值稱為機器數的真值。巧旅
例:0000 0001的真值 = +000 0001 = +1,1000 0001的真值 = –0111 1111 = –127;這里所說的比如-3二進制代碼為10000011,就是我們計算機裡面對-3表示的源碼。下面介紹源碼
首先說明一點
在計算機內,有符號數有3種表示法:原碼、反碼和補碼。
3、原碼
原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其餘位表示值. 比如如果是8位二進制
[+1]原 = 0000 0001
[-1]原 = 1000 0001
因為第一位是符號位, 所以若是8位二進制數,其取值范圍就是:
[1111 1111 , 0111 1111]
即[-127 , 127]
原碼是人腦最容易理解和計算的表示方式。
4 、反碼
反碼表示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。
[+1] = [ 00000001 ]原碼 = [ 00000001 ]反碼;
[-1] = [ 10000001 ]原碼 = [ 11111110 ]反碼;
可見如果一個反碼表示的是負數, 人腦無法直觀的看出來它的數值. 通常要將其轉換成原碼再計算。
什麼是二進制的補碼?
註明:正數的補碼與負數的補碼一致,負數的補碼符號位為1,這位1即是符號位也是數值位,然後加1
補碼借鑒的模概念,雖然理解起來有點晦澀難懂。可以跳過
模的概念:把一個計量單位稱之為模或模數。例如,時鍾是以12進制進行計數循環的,即以12為模。
在時鍾上,時針加上(正撥)12的整數位或減去(反撥)12的整數位,時針的位置不變。14點鍾在捨去模12後,成為(下午)2點鍾(14=14-12=2)。從0點出發逆時針撥10格即減去10小時,也可看成從0點出發順時針撥2格(加上2小時),即2點(0-10=-10=-10+12=2)。因此,在模12的前提下,-10可映射為+2。由此可見,對於一個模數為12的循環系統來說,加2和減10的效果是一樣的;因此,在以12為模的系統中,凡是減10的運算都可以用加2來代替,這就把減法問題轉化成加法問題了(註:計算機的硬體結構中只有加法器,所以大部分的運算都必須最終轉換為加法)。10和2對模12而言互為補數。同理,計算機的運算部件與寄存器都有一定字長的限制(假設字長為16),因此它的運算也是一種模運算。當計數器計滿16位也就是65536個數後會產生溢出,又從頭開始計數。產生溢出的量就是計數器的模,顯然,16位二進制數,它的模數為2^16=65536。在計算中,兩個互補的數稱為「補碼」。比如一個有符號8位的數可以表示256個數據,最大數是0
1 1 1 1 1 1 1(+127),最小數1 0 0 0 0 0 0 0
(-128);那麼第255個數據,加2和減254都是一樣的效果得出的結果是第一個數據
,所以2和254是一樣的效果。對於255來說2和254是互補的數。
求一個正數對應補碼是一種數值的轉換方法,要分二步完成:
第一步,每一個二進制位都取相反值,即取得反碼;0變成1,1變成0。比如,00001000的反碼就是11110111。
第二步,將上一步得到的反碼加1。11110111就變成11111000。所以,00001000的二進制補碼就是11111000。也就是說,-8在計算機(8位機)中就是用11111000表示。
不知道你怎麼看,反正我覺得很奇怪,為什麼要採用這么麻煩的方式表示負數,更直覺的方式難道不好嗎?
二進制補碼的好處
首先,要明確一點。計算機內部用什麼方式表示負數,其實是無所謂的。只要能夠保持一一對應的關系,就可以用任意方式表示負數。所以,既然可以任意選擇,那麼理應選擇一種用的爽直觀方便的方式。
二進制的補碼就是最方便的方式。它的便利體現在,所有的加法運算可以使用同一種電路完成。
還是以-8作為例子。假定有兩種表示方法。一種是直覺表示法,即10001000;另一種是2的補碼表示法,即11111000。請問哪一種表示法在加法運算中更方便?隨便寫一個計算式,16
+ (-8) = ?16的二進製表示是 00010000,所以用直覺表示法,加法就要寫成:
00010000
+10001000原碼形式-8
---------
10011000
可以看到,如果按照正常的加法規則,就會得到10011000的結果,轉成十進制就是-24。顯然,這是錯誤的答案。也就是說,在這種情況下,正常的加法規則不適用於正數與負數的加法,因此必須制定兩套運算規則,一套用於正數加正數,還有一套用於正數加負數。從電路上說,就是必須為加法運算做兩種電路。所以用原碼表示負數是不行的。
現在,再來看二進制的補碼表示法。
00010000
+11111000補碼形式-8
---------
100001000
可以看到,按照正常的加法規則,得到的結果是100001000。注意,這是一個9位的二進制數。我們已經假定這是一台8位機,因此最高的第9位是一個溢出位,會被自動捨去。所以,結果就變成了00001000,轉成十進制正好是8,也就是16 + (-8) 的正確答案。這說明了,2的補碼表示法可以將加法運算規則,擴展到整個整數集,從而用一套電路就可以實現全部整數的加法。
二進制補碼的本質,本質是用來表示負整數的
在回答二進制補碼為什麼能正確實現加法運算之前,我們先看看它的本質,也就是那兩個求補碼步驟的轉換方法是怎麼來的。下面描述了一個正數怎麼求它對應負數在計算機的表達方式。比如128,正數為10000000,但是驚奇的發現-128也是10000000。但是這里由於屬於數據類型的限定,第八位同樣一個1代表不同的含義,前面的 1是數值位,後面數的 1是符號位。
要將正數轉成對應的負數,其實只要用0減去這個數就可以了。比如,-8其實就是0-8。用模數的概念解釋如下圖
為什麼正數加法也適用於二進制的補碼?
實際上,我們要證明的是,X-Y或X+(-Y)可以用X加上Y的2的補碼(-Y)完成。
Y的二進制補碼等於(11111111-Y)+1。所以,X加上Y的2的補碼,就等於:X + (11111111-Y) + 1;我們假定這個算式的結果等於Z,即 Z = X + (11111111-Y) + 1。
接下來,分成兩種情況討論。
第一種情況,如果X小於Y,那麼Z是一個負數。這時,我們就對Z採用補碼的逆運算,就是在做一次求補碼運算,求出它對應的正數絕對值,只要前面加上負號就行了。所以,
Z = -[11111111-Z+1] = -[11111111-(X + (11111111-Y) + 1)+1)] = X -
Y;這里如果X Y Z都是無符號型的,且X < Y 那麼Z 最終得到的數是|X-Y|距離的絕對值了,比如X=1,Y=
255,那麼Z=2,因為從255到1隻要加兩次就到了。這里你不要問我為什麼,這里就用到上面的模概念。
第二種情況,如果X大於Y,這意味著Z肯定大於11111111,但是我們規定了這是8位機,最高的第9位是溢出位,必須被捨去,捨去相當於減去嗎!所以減去100000000。所以,
Z = Z - 100000000 = X + (11111111-Y) + 1 - 100000000 = X - Y
這就證明了,在正常的加法規則下,可以利用2的補碼得到正數與負數相加的正確結果。換言之,計算機只要部署加法電路和補碼電路,就可以完成所有整數的加法。
『拾』 原碼,反碼,補碼,移碼
寫在前面:該文章為本人學習中寫的一些筆記和心得,發表出來主要是為了記錄自己的學習過程。本人才疏學淺,筆記難免存在不足甚至紕漏,但會不定期更新。
基本知識:假設有一個n位的二進制數
則這個二進制數共有 種狀態,這個數最大為
反過來 ,寫成二進制為1000 0000,一共有8位,1後面 7 個小數
以下舉例均為n位數,實例為8位數
原碼
簡單直接的二進制,以下以定點數為例。
定點純小數: 0 100 0000 首位為符號位,0為正1為負,這里表示0.1(10)
定點純整數: 0 000 0001 這里表示1(10)
因為有符號位,所以有正負零之分 0 000 0000 和 1 000 0000
數據范圍:-127~127(後面7位全為1)//公式表達為
特點:原碼不適合加減,但 適合乘除
反碼
正數的反碼與其原碼相同;負數的反碼是對其符號位後的原碼逐位取反,符號位不變(為1)
反碼能表達的數據范圍:與源碼一樣
補碼
目的:方便計算機進行加減
特點:在機器中適合加減的數字表示方式
補碼能實現計算機"加上負數"的本質原理是模運算,也就是A減去B等於A加上B相對於A的補數再求模。就好像時鍾順時針撥動3h和逆時針撥動9h得到的結果一樣。
二進制求補碼:
補數=(原數+模)(mod 模),很明顯,若原碼是正,則補碼是它本身,對於正數完全不用考慮求補碼。
對於計算機,因為兩個相加的數的位數相同(n),且和不能超過n+1位,因此應該取的模是100000...(n個0)。
因此對於n位純小數,它的模(十進制)為2 ,對於n位純整數,它的模為2 n
模 : (1 0 000 0000)
原碼: ( 0 000 0000)
注意到,盡管符號位沒有任何數值信息,這里取模依然把符號位考慮進去了,原因是我們可以通過定義補碼,來使第一個符號位參與計算機計算,從而得到想要的結果。
(同時,把符號位算進去可以讓我們在用數學公式法求二進制補數時,直接從結果得到補碼
例: x= -0.1011
[x]補=10+x=10.0000-0.1011=1.0101
原來是要取模得補數為0.0101(2),但正好首位的1可以表示原數的負號,因此可直接讀出補碼為1 0101
)
因此對於補碼,符號位既起指示正負號的作用,又參與運算。
另外,區別於原碼有兩個0(正負0),在補碼的規定中,只有一個0(00000...的正0,因為原碼也全是0),而1 0000...可以表示-1(補碼純小數)或-2 n-1 (補碼純整數)
//可以這么記(以純整數為例):因為後面n-1個0取反後為n-1個1,加1後為2 n-1 (10),前面一個1表示負數,因此補碼能表示-2 n-1
補碼怎麼來:原碼為正,補碼與原碼相同;原碼為負,後面的位數為原碼取反加1
移碼
目的:為了方便計算機比大小,消除符號位對計算機的干擾
原理是把負數部分全部移到非負數方向,也就是說要把第一位符號位的意義給消除掉。消除方法為:對於補碼的正數,符號位由0變為1,增大;對於補碼的負數,符號位概念消除,在計算機中被定義為正數,又為了確保原負數小於原正數,符號位由1變為0。
為了保證每個數之間大小關系不變,要用補碼來轉換成移碼,用原碼來轉換的話,負數之間的大小關系會反轉。
數學公式:
宏觀上來看是把居中的整個數軸平移到了非負半軸上,每個數之間的大小關系不變。
純小數[X] 移 =1+X
純整數 [X] 移 = (一般標准)
移碼怎麼來: 移碼和補碼尾數相同,符號位相反 (也就是補碼 首位的1->0 ;0->1)
因為移碼從補碼那裡來,所以也能額外多表示一個數