自然碼和源碼
⑴ 代碼是什麼意思
代碼 含意
0 0x0000 作業完成。
1 0x0001 不正確的函數。
2 0x0002 系統找不到指定的檔案。
3 0x0003 系統找不到指定的路徑。
4 0x0004 系統無法開啟檔案。
5 0x0005 拒絕存取。
6 0x0006 無效的代碼。
7 0x0007 儲存體控制區塊已毀。
8 0x0008 儲存體空間不足,無法處理這個指令。
9 0x0009 儲存體控制區塊地址無效。
10 0x000A 環境不正確。
11 0x000B 嘗試載入一個格式錯誤的程序。
12 0x000C 存取碼錯誤。
13 0x000D 資料錯誤。
14 0x000E 儲存體空間不夠,無法完成這項作業。
15 0x000F 系統找不到指定的磁碟驅動器。
16 0x0010 無法移除目錄。
16 0x0010 無法移除目錄。
17 0x0011 系統無法將檔案移到 其它的磁碟驅動器。
18 0x0012 沒有任何檔案。
19 0x0013 儲存媒體為防寫狀態。
20 0x0014 系統找不到指定的裝置。
21 0x0015 裝置尚未就緒。
22 0x0016 裝置無法識別指令。
23 0x0017 資料錯誤 (cyclic rendancy check)
24 0x0018 程序發出一個長度錯誤的指令。
25 0x0019 磁碟驅動器在磁碟找不到 持定的扇區或磁軌。
26 0x001A 指定的磁碟或磁碟無法存取。
27 0x001B 磁碟驅動器找不到要求的扇區。
28 0x001C 列印機沒有紙。
29 0x001D 系統無法將資料寫入指定的磁碟驅動器。
30 0x001E 系統無法讀取指定的裝置。
31 0x001F 連接到系統的某個裝置沒有作用。
32 0x0020 The process cannot access the file because it is being
used by another process.
33 0x0021 檔案的一部份被鎖定, 現在無法存取。
34 0x0022 磁碟驅動器的磁碟不正確。 請將 %2 (Volume Serial
Number: %3) 插入磁碟機%1。
36 0x0024 開啟的分享檔案數量太多。
38 0x0026 到達檔案結尾。
39 0x0027 磁碟已滿。
50 0x0032 不支持這種網路要求。
51 0x0033 遠程計算機無法使用。
52 0x0034 網路名稱重復。
53 0x0035 網路路徑找不到。
54 0x0036 網路忙碌中。
55 0x0037 The specified network resource or device is no longer
available.
56 0x0038 The network BIOS command limit has been reached. 57
0x0039 網路配接卡發生問題。
58 0x003A 指定的伺服器無法執行要求的作業。
59 0x003B 網路發生意外錯誤。
60 0x003C 遠程配接卡不兼容。
61 0x003D 列印機隊列已滿。
62 0x003E 伺服器的空間無法儲存等候列印的檔案。
63 0x003F 等候列印的檔案已經刪除。
64 0x0040 指定的網路名稱無法使用。
65 0x0041 拒絕存取網路。
65 0x0041 拒絕存取網路。
66 0x0042 網路資源類型錯誤。
67 0x0043 網路名稱找不到。
68 0x0044 超過區域計算機網路配接卡的名稱限制。
69 0x0045 超過網路 BIOS 作業階段的限制。
70 0x0046 遠程伺服器已經暫停或者正在起始中。
71 0x0047 由於聯機數目已達上限,此時無法再聯機到這台遠程計算機。
72 0x0048 指定的列印機或磁碟裝置已經暫停作用。
80 0x0050 檔案已經存在。
82 0x0052 無法建立目錄或檔案。
83 0x0053 INT 2484 0x0054 處理這項要求的儲存體無法使用。
85 0x0055 近端裝置名稱已經在使用中。
86 0x0056 指定的網路密碼錯誤。
87 0x0057 參數錯誤。
88 0x0058 網路發生資料寫入錯誤。
89 0x0059 此時系統無法執行其它行程。
100 0x0064 無法建立其它的系統 semaphore。
101 0x0065 屬於其它行程專用的 semaphore.
102 0x0066 semaphore 已經設定,而且無法關閉。
103 0x0067 無法指定 semaphore 。
104 0x0068 在岔斷時間無法要求專用的 semaphore 。
104 0x0068 在岔斷時間無法要求專用的 semaphore 。
105 0x0069 此 semaphore 先前的擁有權已經結束。
106 0x006A 請將磁碟插入 %1。
107 0x006B 因為代用的磁碟尚未插入,所以程序已經停止。
108 0x006C 磁碟正在使用中或被鎖定。
109 0x006D Pipe 已經中止。
110 0x006E 系統無法開啟指定的 裝置或檔案。
111 0x006F 檔名太長。
112 0x0070 磁碟空間不足。
113 0x0071 沒有可用的內部檔案標識符。
114 0x0072 目標內部檔案標識符不正確。
117 0x0075 由應用程序所執行的 IOCTL 呼叫 不正確。
118 0x0076 寫入驗證參數值不正確。
119 0x0077 系統不支持所要求的指令。
120 0x0078 此項功能僅在 Win32 模式有效
121 0x0079 semaphore 超過逾時期間。
122 0x007A 傳到系統呼叫的資料區域 太小。
123 0x007B 文件名、目錄名稱或儲存體卷標語法錯誤。
124 0x007C 系統呼叫層次不正確。
125 0x007D 磁碟沒有設定卷標。
126 0x007E 找不到指定的模塊。
127 0x007F 找不到指定的程序。
128 0x0080 沒有子行程可供等待。
128 0x0080 沒有子行程可供等待。
129 0x0081 %1 這個應用程序無法在 Win32 模式下執行。
130 0x0082 Attempt to use a file handle to an open disk
partition for an operation other than raw disk I/O.
131 0x0083 嘗試將檔案指針移至檔案開頭之前。
132 0x0084 無法在指定的裝置或檔案,設定檔案指針。
133 0x0085 JOIN 或 SUBST 指令 無法用於 內含事先結合過的磁碟驅動器。
134 0x0086 嘗試在已經結合的磁碟驅動器,使用 JOIN 或 SUBST 指令。
135 0x0087 嘗試在已經替換的磁碟驅動器,使 用 JOIN 或 SUBST 指令。
136 0x0088 系統嘗試刪除 未連結過的磁碟驅動器的連結關系。
138 0x008A 系統嘗試將磁碟驅動器結合到已經結合過之磁碟驅動器的目錄。
139 0x008B 系統嘗試將磁碟驅動器替換成已經替換過之磁碟驅動器的目錄。
140 0x008C 系統嘗試將磁碟驅動器替換成已經替換過之磁碟驅動器的目錄。
141 0x00 系統嘗試將磁碟驅動器 SUBST 成已結合的磁碟驅動器 目錄。
142 0x008E 系統此刻無法執行 JOIN 或 SUBST。
143 0x008F 系統無法將磁碟驅動器結合或替換同一磁碟驅動器下目錄。
144 0x0090 這個目錄不是根目錄的子目錄。
145 0x0091 目錄仍有資料。
146 0x0092 指定的路徑已經被替換過。
147 0x0093 資源不足,無法處理這項 指令。
148 0x0094 指定的路徑這時候無法使用。
148 0x0094 指定的路徑這時候無法使用。
149 0x0095 嘗試要結合或替換的磁碟驅動器目錄,是已經替換過的的目標。
150 0x0096 CONFIG.SYS 文件未指定系統追蹤信息,或是追蹤功能被取消。
151 0x0097 指定的 semaphore事件 DosMuxSemWait 數目不正確。
152 0x0098 DosMuxSemWait 沒有執行;設定太多的 semaphore。
153 0x0099 DosMuxSemWait 清單不正確。
154 0x009A 您所輸入的儲存媒體標 元長度限制。
155 0x009B 無法建立其它的執行緒。
156 0x009C 接收行程拒絕接受信號。
157 0x009D 區段已經被舍棄,無法被鎖定。
158 0x009E 區段已經解除鎖定。
159 0x009F 執行緒識別碼的地址不正確。
160 0x00A0 傳到 DosExecPgm 的自變數字元串不正確。
161 0x00A1 指定的路徑不正確。
162 0x00A2 信號等候處理。
164 0x00A4 系統無法建立執行緒。
167 0x00A7 無法鎖定檔案的部份范圍。
170 0x00AA 所要求的資源正在使用中。
173 0x00AD 取消范圍的鎖定要求不明顯。
174 0x00AE 檔案系統不支持自動變更鎖定類型。
180 0x00B4 系統發現不正確的區段號碼。
182 0x00B6 操作系統無法執行 %1。
182 0x00B6 操作系統無法執行 %1。
183 0x00B7 檔案已存在,無法建立同一檔案。
186 0x00BA 傳送的旗號錯誤。
187 0x00BB 指定的系統旗號找不到。
188 0x00BC 操作系統無法執行 %1。
189 0x00BD 操作系統無法執行 %1。
190 0x00BE 操作系統無法執行 %1
191 0x00BF 無法在 Win32 模式下執行 %1。
192 0x00C0 操作系統無法執行 %1。
193 0x00C1 %1 不是正確的 Win32 應用程序。
194 0x00C2 操作系統無法執行 %1。
195 0x00C3 操作系統無法執行 %1。
196 0x00C4 操作系統無法執行 這個應用程序。
197 0x00C5 操作系統目前無法執行 這個應用程序。
198 0x00C6 操作系統無法執行 %1。
199 0x00C7 操作系統無法執行 這個應用程序。
200 0x00C8 程序代碼的區段不可以大於或等於 64KB。
201 0x00C9 操作系統無法執行 %1。
202 0x00CA 操作系統無法執行 %1。
203 0x00CB 系統找不到輸入的環境選項。\r
205 0x00CD 在指令子目錄下,沒有任何行程有信號副處理程序。
206 0x00CE 文件名稱或擴展名太長。
207 0x00CF ring 2 堆棧使用中。
207 0x00CF ring 2 堆棧使用中。
208 0x00D0 輸入的通用檔名字元 * 或 ? 不正確, 或指定太多的通用檔名字元。
209 0x00D1 所傳送的信號不正確。
210 0x00D2 無法設定信號處理程序。
212 0x00D4 區段被鎖定,而且無法重新配置。
214 0x00D6 附加到此程序或動態連結模塊的動態連結模塊太多。
215 0x00D7 Can』t nest calls to LoadMole.
230 0x00E6 The pipe state is invalid.
231 0x00E7 所有的 pipe instances 都在忙碌中。
232 0x00E8 The pipe is being closed.
233 0x00E9 No process is on the other end of the pipe.
234 0x00EA 有更多可用的資料。
240 0x00F0 作業階段被取消。
254 0x00FE 指定的延伸屬性名稱無效。
255 0x00FF 延伸的屬性不一致。
259 0x0103 沒有可用的資料。
266 0x010A 無法使用 Copy API。
267 0x010B 目錄名稱錯誤。
275 0x0113 延伸屬性不適用於緩沖區。
276 0x0114 在外掛的檔案系統上的延伸屬性檔案已經毀損。
277 0x0115 延伸屬性表格文件滿。
278 0x0116 指定的延伸屬性代碼無效。
278 0x0116 指定的延伸屬性代碼無效。
282 0x011A 外掛的這個檔案系統不支持延伸屬性。
288 0x0120 意圖釋放不屬於叫用者的 mutex。
298 0x012A semaphore 傳送次數過多。
299 0x012B 只完成 Read/WriteProcessMemory 的部份要求。
317 0x013D 系統找不到位於訊息文件 %2 中編號為 0x%1 的訊息。
487 0x01E7 嘗試存取無效的地址。
534 0x0216 運算結果超過 32 位。
535 0x0217 信道的另一端有一個行程在接送資料。
536 0x0218 等候行程來開啟信道的另一端。
994 0x03E2 存取延伸的屬性被拒。
995 0x03E3 由於執行緒結束或應用程序要求,而異常終止 I/O 作業。
996 0x03E4 重疊的 I/O 事件不是設定成通知狀態。
997 0x03E5 正在處理重疊的 I/O 作業。
998 0x03E6 對內存位置的無效存取。
999 0x03E7 執行 inpage 作業發生錯誤。
1001 0x03E9 遞歸太深,堆棧滿溢。
1002 0x03EA 窗口無法用來傳送訊息。
1003 0x03EB 無法完成這項功能。
1004 0x03EC 旗號無效。
1005 0x03ED 儲存媒體未含任何可辨識的檔案系統。 請確定以載入所需
的系統驅動程序,而且該儲存媒體並未毀損。
1006 0x03EE 儲存該檔案的外部媒體發出警告,表示該已開啟檔案已經無效。
1007 0x03EF 所要求的作業無法在全屏幕模式下執行。
1008 0x03F0 An attempt was made to reference a token that does
not exist.
1009 0x03F1 組態系統登錄資料庫毀損。
1010 0x03F2 組態系統登錄機碼無效。
1011 0x03F3 無法開啟組態系統登錄機碼。
1012 0x03F4 無法讀取組態系統登錄機碼。
1013 0x03F5 無法寫入組態系統登錄機碼。
1014 0x03F6 系統登錄資料庫中的一個檔案必須使用記錄或其它備份還
原。 已經還原成功。
1015 0x03F7 系統登錄毀損。其中某個檔案毀損、或者該檔案的 系統映
對內存內容毀損、會是檔案無法復原。
1016 0x03F8 系統登錄起始的 I/O 作業發生無法復原的錯誤。 系統登錄
無法讀入、寫出或更新,其中的一個檔案 內含系統登錄在內存中的內容。
1017 0x03F9 系統嘗試將檔案載入系統登錄或將檔案還原到系統登錄中,
但是,指定檔案的格式不是系統登錄文件的格式。
1018 0x03FA 嘗試在標示為刪除的系統登錄機碼,執行不合法的操作。
1018 0x03FA 嘗試在標示為刪除的系統登錄機碼,執行不合法的操作。
1019 0x03FB 系統無法配置系統登錄記錄所需的空間。
1020 0x03FC 無法在已經有子機碼或數值的系統登錄機碼建立符號連結。
1021 0x03FD 無法在臨時機碼下建立永久的子機碼。
1022 0x03FE 變更要求的通知完成,但信息 並未透過呼叫者的緩沖區傳
回。呼叫者現在需要自行列舉檔案,找出變更的地方。
1051 0x041B 停止控制已經傳送給其它服務 所依峙的一個服務。
1052 0x041C 要求的控制對此服務無效
1016 0x03F8 系統登錄起始的 I/O 作業發生無法復原的錯誤。 系統登錄
無法讀入、寫出或更新,其中的一個檔案 內含系統登錄在內存中的內容。
1017 0x03F9 系統嘗試將檔案載入系統登錄或將檔案還原到系統登錄中,
但是,指定檔案的格式不是系統登錄文件的格式。
1018 0x03FA 嘗試在標示為刪除的系統登錄機碼,執行不合法的操作。
1018 0x03FA 嘗試在標示為刪除的系統登錄機碼,執行不合法的操作。
1019 0x03FB 系統無法配置系統登錄記錄所需的空間。
1020 0x03FC 無法在已經有子機碼或數值的系統登錄機碼建立符號連結。
1021 0x03FD 無法在臨時機碼下建立永久的子機碼。
1022 0x03FE 變更要求的通知完成,但信息 並未透過呼叫者的緩沖區傳
回。呼叫者現在需要自行列舉檔案,找出變更的地方。
1051 0x041B 停止控制已經傳送給其它服務 所依峙的一個服務。
1052 0x041C 要求的控制對此服務無效
1052 0x041C 要求的控制對此服務無效
1053 0x041D The service did not respond to the start or control
request in a timely fashion. 1054 0x041E 無法建立服務的執行緒。
1055 0x041F 服務資料庫被鎖定。
1056 0x0420 這種服務已經在執行。
1057 0x0421 帳戶名稱錯誤或者不存在。
1058 0x0422 指定的服務暫停作用,無法激活。
1059 0x0423 指定循環服務從屬關系。
1060 0x0424 指定的服務不是安裝進來的服務。
1061 0x0425 該服務項目此時無法接收控制訊息。
1062 0x0426 服務尚未激活。
1063 0x0427 無法聯機到服務控製程序。
1064 0x0428 處理控制要求時,發生意外狀況。
1065 0x0429 指定的資料庫不存在。
1066 0x042A 服務傳回專屬於服務的錯誤碼。
1067 0x042B The process terminated unexpectedly.
1068 0x042C 從屬服務或群組無法激活。
1069 0x042D 因為登入失敗,所以沒有激活服務。
1070 0x042E 在激活之後,服務在激活狀態時當機。
1071 0x042F 指定服務資料庫鎖定無效。
1072 0x0430 指定的服務已經標示為刪除。
1073 0x0431 指定的服務已經存在。
1074 0x0432 系統目前正以上一次執行成功的組態執行。
1075 0x0433 從屬服務不存在,或已經標示為刪除。
1076 0x0434 目前的激活已經接受上一次執行成功的 控制設定。
1077 0x0435 上一次激活之後,就沒有再激活服務。
1078 0x0436 指定的名稱已經用於服務名稱或服務顯示 名稱。
1100 0x044C 已經到了磁帶的最後。
1101 0x044D 到了檔案標示。
1102 0x044E 遇到磁帶的開頭或分割區。
1100 0x044C 已經到了磁帶的最後。
1101 0x044D 到了檔案標示。
1102 0x044E 遇到磁帶的開頭或分割區。
1103 0x044F 到了檔案組的結尾。
1104 0x0450 磁帶沒有任何資料。
1105 0x0451 磁帶無法製作分割區。
1106 0x0452 存取多重容體的新磁帶時,發現目前 區塊大小錯誤。
1107 0x0453 載入磁帶時,找不到磁帶分割區信息。
1108 0x0454 無法鎖住儲存媒體退帶功能。
1108 0x0454 無法鎖住儲存媒體退帶功能。
1109 0x0455 無法解除載入儲存媒體。
1110 0x0456 磁碟驅動器中的儲存媒體已經變更。
1111 0x0457 已經重設 I/O 匯流排。
1112 0x0458 磁碟驅動器沒有任何儲存媒體。
1113 0x0459 目標 multi-byte code page,沒有對應 Unicode 字元。
1114 0x045A 動態鏈接庫 (DLL) 起始常式失敗。
1115 0x045B 系統正在關機。
1116 0x045C 無法中止系統關機,因為沒有關機的動作在進行中。
1117 0x045D 因為 I/O 裝置發生錯誤,所以無法執行要求。
1118 0x045E 序列裝置起始失敗,會取消載入序列驅動程序。
1119 0x045F 無法開啟裝置。這個裝置與其它裝置共享岔斷要求 (IRQ)。
至少已經有一個使用同一IRQ 的其它裝置已經開啟。
1120 0x0460 A serial I/O operation was completed by another
write to the serial port. (The IOCTL_SERIAL_XOFF_COUNTER reached zero.)
1121 0x0461 因為已經過了逾時時間,所以序列 I/O 作業完成。
(IOCTL_SERIAL_XOFF_COUNTER 不是零。)
1122 0x0462 在磁碟找不到任何的 ID 地址標示。
1123 0x0463 磁碟扇區 ID 欄位與磁碟控制卡追蹤地址 不符。
1124 0x0464 軟式磁碟驅動器控制卡回報了一個軟式磁碟驅動器驅動程序無法識別的錯誤。
1125 0x0465 軟式磁碟驅動器控制卡傳回與緩存器中不一致的結果。
1126 0x0466 存取硬碟失敗,重試後也無法作業。
1127 0x0467 存取硬碟失敗,重試後也無法作業。
1128 0x0468 存取硬碟時,必須重設磁碟控制卡,但是 連重設的動作也失敗。
1129 0x0469 到了磁帶的最後。
1130 0x046A 可用伺服器儲存空間不足,無法處理這項指令。
1131 0x046B 發現潛在的死鎖條件。
1132 0x046C 指定的基本地址或檔案位移沒有適當 對齊。
1140 0x0474 嘗試變更系統電源狀態,但其它的應用程序或驅動程序拒絕。
1141 0x0475 系統 BIOS 無法變更系統電源狀態。
1150 0x047E 指定的程序需要新的 Windows 版本。
1151 0x047F 指定的程序不是 Windows 或 MS-DOS 程序。
1152 0x0480 指定的程序已經激活,無法再激活一次。
1153 0x0481 指定的程序是為舊版的 Windows 所寫的。
1154 0x0482 執行此應用程序所需的鏈接庫檔案之一毀損。
1155 0x0483 沒有應用程序與此項作業的指定檔案建立關聯。
1156 0x0484 傳送指令到應用程序發生錯誤。
1157 0x0485 找不到執行此應用程序所需的鏈接庫檔案。
1200 0x04B0 指定的裝置名稱無效。
1201 0x04B1 裝置現在雖然未聯機,但是它是一個記憶聯機。
1202 0x04B2 嘗試記憶已經記住的裝置。
1203 0x04B3 提供的網路路徑找不到任何網路提供程序。
1203 0x04B3 提供的網路路徑找不到任何網路提供程序。
1204 0x04B4 指定的網路提供程序名稱錯誤。
1205 0x04B5 無法開啟網路聯機設定文件。
1206 0x04B6 網路聯機設定文件壞掉。
1207 0x04B7 無法列舉非容器。
1208 0x04B8 發生延伸的錯誤。
1209 0x04B9 指定的群組名稱錯誤。
1210 0x04BA 指定的計算機名稱錯誤。
1211 0x04BB 指定的事件名稱錯誤。
1212 0x04BC 指定的網路名稱錯誤。
1213 0x04BD 指定的服務名稱錯誤。
1214 0x04BE 指定的網路名稱錯誤。
1215 0x04BF 指定的資源共享名稱錯誤。
1216 0x04C0 指定的密碼錯誤。
1217 0x04C1 指定的訊息名稱錯誤。
1218 0x04C2 指定的訊息目的地錯誤。
1219 0x04C3 所提供的條件與現有的條件組發生沖突。
1220 0x04C4 嘗試與網路伺服器聯機,但是 與該伺服器的聯機已經太多。
1221 0x04C5 其它網路計算機已經在使用這個工作群組或網域名稱。
⑵ 原碼,反碼,補碼各有什麼作用呀
正負數,在計算機中存放的格式,就是補碼。
計算機中,並沒有原碼和反碼,也就不必關心它們了。
下面,針對補碼,給出解釋。
比如,有一個小孩,很小的。
他只認識100 個數(0~99),也不會做減法。
那麼,就可以告訴他:「減一」,就用「加 99」算吧。
36 - 1 = 35
36 + 99 = (1) 35
忽略進位的 100,結果不是一樣的嗎?
那麼,就是說:
99,就是-1 的補數。
98,就是-2 的補數。
。。。
利用「補數」,就可把「減法」轉為「加法」。
利用這個特點,計算機中,僅需一個「加法器」,就夠用了。
------------
在計算機中,是以二進制存放各種信息的,統稱為:代碼。
八位,作為一個計算單位。
范圍是:0000 0000 ~ 1111 1111。
寫成十進制,就是:0~255。
共有 256 個代碼。--這個數字,稱為:模。
那麼:
1111 1111(255),就是-1 的補碼。
1111 1110(254),就是-2 的補碼。
。。。
1000 0000(128),就是-128 的補碼。
求負數的補碼,就是這么簡單。
而零和正數,直接參加運算即可,用不著求補碼。
因此,下面就是補碼的定義式。
零和正數的補碼:就是該數字本身。
負數的補碼:就用「模」,加上該負數。
模,就是代碼的總個數。
---------
原碼和反碼,則毫無意義。
所以,在計算機中,並沒有它們的存在。
⑶ 計算機的原碼,反碼,補碼是怎麼回事可以舉例說明嗎
原碼、反碼和補碼是計算機中對數字二進制的三種表示方法。
1、原碼
原碼(true form)是一種計算機中對數字的二進制定點表示方法。原碼表示法在數值前面增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:+0和-0),其餘位表示數值的大小。
例如:用8位二進製表示一個數,+11的原碼為00001011,-11的原碼就是10001011。
2、反碼
反碼是數值存儲的一種,多應用於系統環境設置,如linux平台的目錄和文件的默認許可權的設置umask,就是使用反碼原理。反碼的表示方法是:正數的反碼與其原碼相同;負數的反碼是對正數逐位取反,符號位保持為1。
例如:
[+7]反= 0 0000111 B;
[-7]反= 1 1111000 B。
3、補碼
正數:正數的補碼和原碼相同。負數:負數的補碼則是符號位為「1」。並且,這個「1」既是符號位,也是數值位。數值部分按位取反後再在末位(最低位)加1。也就是「反碼+1」。
例如:
[+7]補= 0 0000111 B;
[-7]補= 1 1111001 B。
(3)自然碼和源碼擴展閱讀
原碼、反碼、補碼的轉換方法如下:
(1) 已知原碼,求補碼。
例:已知某數X的原碼為10110100B,試求X的補碼和反碼。
首先通過原碼的首位確定該數字的正負,若為正數,反碼與原碼相同,補碼比原碼在末尾加1;若為負數,求其反碼時,符號位不變,數值部分按位求反;求其補碼時,再在其反碼的末位加1。
(2)已知補碼,求原碼。
按照求負數補碼的逆過程,數值部分應是最低位減1,然後取反。但是對二進制數來說,先減1後取反和先取反後加1得到的結果是一樣的,故仍可採用取反加1的方法。
⑷ 源碼反碼與補碼
8位2進制原碼反碼補碼表示法:第一位是符號位,正數為0負數為1
-67的原碼是11000011,換成反碼符號位不變,其他各位依次求反:
10111100,換成補碼只在反碼基礎上末位加1:
10111101。
55的原碼00110111,正數原碼反碼補碼相同。
補碼實現55-67:00110111
+10111101
---------------------------
11110100
把這個補碼末位減一,符號位不變各位取反得到結果的原碼表示:10001100,
轉換成十進制剛好等於-12,驗證了結果11110100是正確的。
⑸ 自然碼漢字輸入法的發展過程
1984年,周志農從北京工業大學計算機系畢業分配到北京市微電子應用技術研究所。周志農第一個作品是MECCDOS5.0,但所里沒有足夠的投入,無法完成產品更新換代和後續推廣,周志農只好將漢字系統變成了外掛式的輸入法。
1986年,周志農遇到扶良文,扶良文最早提出了「拼音加形」的思想,周志農和他確定了編碼方案,並在計算機上實現了這個方案,取名金獎智能碼。
為推廣金獎智能碼,周志農和扶良文成立了一個實體,掛靠在一個發明創造部。但兩人的合作只持續了一年多,原因是,兩人在輸入法的雙拼壓縮鍵位上分歧很大。當時,CCDOS壓縮拼音已經很流行了,但扶良文堅持自己的雙拼壓縮方案確定在CCDOS之前,不肯調過頭來學CCDOS,周志農堅持要將金獎智能碼的雙拼壓縮鍵位改成和CCDOS一樣,扶良文說,你要改,就自己去做,周志農就出去開始自己做。
1988年10月,自然碼1.0推出,掛靠在北京市東城區科協,由中國軟體公司軟體服務中心代售,周志農按利潤分成。
1989年,中軟重組,周志農轉而掛靠到了北京市電子技術咨詢服務中心,方式是獨立記賬,交一定的管理費。此時,周志農在中關村黃庄一幢大樓的地下室里租了自己的第一間辦公室。周志農在黑暗的地下室里待了三四個月,每天按照《全國單位大全》發信,寄宣傳頁。
自然碼漸漸做出了點兒名氣,開始花1000多元在《計算機世界》打八分之一的廣告,效果很好。周志農最早想出的促銷方法是開小型的展示會,用戶壓身份證、工作證,可以將軟體拿回去免費試用。
有了一點兒收入,周志農就雇了七八個半兼職的人每天跑出去,到大單位給人演示自然碼,用戶有興趣,就留下試用版,過一階段再聯系。此時,周志農的實體一個月有4萬元多收入,但不敢積累,因為,此時掛靠的國營單位開始不景氣,錢取出來越來越困難。
當時,周志農是想注冊一個公司,但由於社會經驗少,關系都不知道,看了辦公司的條例,裡面要求要有那麼多注冊資金,那麼多注冊成員,成員裡面還要有很多個有職稱的,還要有專職會計,周志農嚇蒙了。促使周志農下決心辦公司,是從新加坡參加計算機展覽會回來。在新加坡周志農找到了初步的自信。新加坡有個商人願意出錢開公司,讓周志農進去做,周志農不願意將自然碼變成新加坡的產品,然後,自己去享受一個股份。就在這個時候,周志農碰到了超想的合夥人。1991年6月,周志農、何肇光、李培三人在北京民族飯店商量成立公司。何肇光、李培當時主要做硬體生意,每月可以售出上千台1600K列印機。所以,公司一開始定的分工是,何肇光、李培管硬體銷售,周志農負責軟體。大家合夥成立公司,為的是「互相依託,都有好處」。
當時公司沒起名自然碼,就是因為何肇光和李培有硬體生意要做。公司取名超想,是想藉助聯想的知名度。
開始的時候,因為還沒有利益,大家都為目標奮斗,所以,大家合作得很愉快,「都很高興」。
半年後,超想公司的列印機銷售開始走下坡路,公司原定的分工方案無法維持,李培獨立出去成立香港五澳環公司做收款機生意,何肇光開始涉足自然碼業務。周志農當時沒有堅決反對何肇光幫忙來做自然碼,因為當時周志農也不知道自然碼這個軟體到底能有多少收入,能有多大前途。「既然大家願意一起來做,也沒有什麼不好的。」
超想注冊是李培辦的,李培找中關村聯社出了一個證明,將公司注冊了下來,以至於後來,官司打到法庭上,超想在法律上成了中關村聯社獨家投資注冊的公司,盡管,聯社當時並沒有對超想投資一分錢。
周志農沒有做超想的法人代表原因是檔案在原單位,一時拿不出來,不方便做法人,就沒有做。
何肇光的想法是既然超想的分工改變了,應該重新分配股份關系,但這件事件李培不同意,就拖了下來,而超想的宣傳、銷售、產品開發又不能停下來等待股份明確了再進行,超想就這樣帶著問題向前發展。
周志農當時也是不太著急簽關於股份劃分的協議,因為他一直緊緊把握著自然碼,所有產品的加密都是他自己在家裡做,磁碟做完了加密道,然後,再拿到公司COPY。周志農當時天真地認為如果他不做了,或者他提成拿不到的話,公司就沒法辦下去。
自然碼和超想CXDOS的生意越做越好,程序越做越大,大到了周志農一個人實在忙不過來了,這樣邱勁松和趙全新加入了進來,雷軍也給幫過忙。
1992年,超想公司收入40多萬元,10多萬元利潤,周志農分到了5萬元,對這樣的分配,周志農感到滿意。1993年,超想公司高速發展,企業蒸蒸日上,年技術收入有200多萬元,利潤大約在60萬元左右。超想成為中國知名的軟體品牌,具備了邁上一個新台階的條件和機遇。
1994年春天,中文DOS平台大戰開始,UCDOS、中國龍、天匯等強勁對手加入角逐,超想面臨轉折的關頭,此刻,周志農希望將股份和軟體版權明確下來。
此時的周志農對自然碼和超想CXDOS已經有了足夠的自信,所以,提出要求變更法人代表,或者開發部和公司相對獨立,像當時的北京金山公司學習,毛利的百分之多少屬於開發部,「錢到了開發部,再由我來分配,不跟公司混在一起分配。」超想覺得不能這樣。因為周志農拿不到經濟權,後來就不讓他參與分配了。公司的開發費用從銷售額的10%,降到了5%,再降到了3%,同時還一再抱怨開發費太高了。
周志農從一個股東的身份,降低到了技術部主任的地位,而且,「還是沒有實權的技術部主任」。
自然碼和漢字系統以外的項目,周志農被排除在外,即使周志農談的項目,「最終的拍板也要由他們決定。」超想決定搞財務軟體、教學軟體,周志農認為無法成功,「因為財務軟體投入很大,超想沒有實力去做,他們堅持做,是因為僅做自然碼和超想CXDOS,就無法消除以我為中心的影響。」
到了這個時候,周志農開始後悔當初很多事情沒定好,「事情都是潛移默化,慢慢轉成的,開始的時候不追究,慢慢已經形成定式了,再想改變它,就相當於剝奪別人的既得利益,肯定會有很大的反彈。」
但周志農還是和幾個技術人員商量「反擊」,要求公司公開賬目,說清楚到底贏利了多少,怎麼分配的。公司不同意公開賬目,說沒有贏利。周志農就將產品停了下來,超想公司開始缺貨。
這樣僵持了一段時間,周志農想談一個妥協的條件,公司不答應,並且,想辦法讓周志農的手下,交出了程序的源碼。周志農一氣就不去上班了。有人打電話到超想公司找周志農,公司就說周志農出差了。有了源程序,產品可以照樣賣,沒有周志農公司照樣運作。所以,1994年計算機展示會上周志農才會那樣地激動。
從超想出走,周志農掛靠到了長城商務促銷中心。周志農將軟體改進了一下,推了一個「自然碼5.61版」、「自然碼ForWin」和「自然碼中文集成環境」。超想以「自然碼ForWin」和「自然碼中文集成環境」是職務發明為理由起訴了長城商務促銷中心。而周志農也同時起訴了超想公司,要求擁有超想公司的股份和財產權,認為自己和超想的關系不是僱傭關系,所以,不存在職務發明問題。
因為開辦公司時在工商部門保存的原始憑證中,超想是中關村聯社的產權,法院認定周志農等三人是從聯社承包了超想,周志農僅僅是承包人之一。既然是承包人,周志農要求的股份權和產品權就不能被支持。周志農在後來的訴訟中據理力爭,既然法院認定與超想公司是承包與被承包的關系,那麼也仍然不是僱傭關系。所以,「自然碼ForWin」及「自然碼中文集成環境」不能簡單地認定是職務發明。
盡管打官司很費時間,但「這場官司不打不行,如果不爭,我就有可能失去自然碼著作權的ForWindows部分。」周志農認為自己沒有「自然碼ForWin」的著作權,就失去了立身之本。
向朱崇君學習
周志農和朱崇君私交很好。周志農和別人合作超想失敗了,朱崇君自始至終獨立做CCED,取得了極大的成功。
不同的路,不同的結果,周志農認為自己和朱崇君的區別在於朱崇君有著豐富的社會經驗,而他在知識分子家庭長大,對社會上的事都不知道,也不知道人會有很多想法。「總是覺得,我幫助你,你就幫助我,大家一起好。」而「朱崇君拒絕合作,所以,他沒有走錯路,雖然慢,但是可以慢慢往上爬,不會倒掉。」
中關村裡不乏和周志農同病相憐的人,王志東、寥恆毅、吳曉軍等人的遭遇讓周志農深深地感到,「程序員和經理人的合作要靠機遇,投資者或者合作者選擇得好,成功的機會就比較高,選擇得不好,有可能快到成功的時候,就被排擠掉了。」
周志農不想再將自己的命運交給別人或者機遇。他認定自己不能再僅僅做為一個技術人員和別人合作,雖然,以技術身份和別人合作很容易找到合作夥伴,「但那樣的話,還會帶來重復的問題。」
「超想的合作是模糊的,我自身的價值到底是多少,我自己都不太知道,在這種情況下,別人也很難承諾到底給多少股份。」而「今後再找人合作就比較謹慎,不是一談就行了,什麼都不考慮,什麼要求都沒有。」
要以公司的名義合作,以公司的名義接受投資,沒有一定的實力根本沒有辦法做到,所以,開始的時候就必須自己先打基礎,這和鮑岳橋他們先將聯眾做起來,然後再賣掉是一個道理。
經過超想這么多事,周志農對於合作辦公司得出的經驗是:
一,要和別人合作,但不能過分依賴別人,在合作中,要看清自己的實力和自己所保留的東西。「在超想,我不是說沒有保留。但公司後來發展太快了,我就控制不住了,產品每個月產量那麼大,我不可能都自己一個人在家做。開發也不是我一個人完全就能做得了的,必須要和別人合作。」
二,合作雙方對產品方向的意見要基本一致,如果分歧比較大,最好一開始就不要一起做,因為,「越做矛盾越多」。
三,事先將能想到的容易出現分歧的地方,盡早定下來,不要等到分歧已經出現再去辯論。
四,技術人員最好能當一把手。「中關村技術人員的權力普遍太弱,完全被經營者控制,使得技術上面的發展是一個扭曲的發展。」
⑹ 一個數的原碼,反碼,補碼怎麼算
計算機中的存儲系統都是用2進制儲存的,對我們輸入的每一個信息它都會自動轉變成二進制的形式,而二進制在存儲的時候就會用到原碼,反碼和補碼例如:輸入25原碼是:0000000000011001反碼: 1111111111100110 補碼: 1111111111100111
數值在計算機中表示形式為機器數,計算機只能識別0和1,使用的是二進制,而在日常生活中人們使用的是十進制,"正如亞里士多德早就指出的那樣,今天十進制的廣泛採用,只不過我們絕大多數人生來具有10個手指頭這個解剖學事實的結果.盡管在歷史上手指計數(5,10進制)的實踐要比二或三進制計數出現的晚. "(摘自<<數學發展史>>有空大家可以看看哦~,很有意思的).為了能方便的與二進制轉換,就使用了十六進制(2 4)和八進制(23).下面進入正題.
數值有正負之分,計算機就用一個數的最高位存放符號(0為正,1為負).這就是機器數的原碼了.假設機器能處理的位數為8.即字長為1byte,原碼能表示數值的范圍為
(-127~-0 +0~127)共256個.
有了數值的表示方法就可以對數進行算術運算.但是很快就發現用帶符號位的原碼進行乘除運算時結果正確,而在加減運算的時候就出現了問題,如下: 假設字長為8bits
( 1 ) 10- ( 1 )10 = ( 1 )10 + ( -1 )10 = ( 0 )10
(00000001)原 + (10000001)原 = (10000010)原 = ( -2 ) 顯然不正確.
因為在兩個整數的加法運算中是沒有問題的,於是就發現問題出現在帶符號位的負數身上,對除符號位外的其餘各位逐位取反就產生了反碼.反碼的取值空間和原碼相同且一一對應. 下面是反碼的減法運算:
( 1 )10 - ( 1 ) 10= ( 1 ) 10+ ( -1 ) 10= ( 0 )10
(00000001) 反+ (11111110)反 = (11111111)反 = ( -0 ) 有問題.
( 1 )10 - ( 2)10 = ( 1 )10 + ( -2 )10 = ( -1 )10
(00000001) 反+ (11111101)反 = (11111110)反 = ( -1 ) 正確
問題出現在(+0)和(-0)上,在人們的計算概念中零是沒有正負之分的.(印度人首先將零作為標記並放入運算之中,包含有零號的印度數學和十進制計數對人類文明的貢獻極大).
於是就引入了補碼概念. 負數的補碼就是對反碼加一,而正數不變,正數的原碼反碼補碼是一樣的.在補碼中用(-128)代替了(-0),所以補碼的表示範圍為:
(-128~0~127)共256個.
注意:(-128)沒有相對應的原碼和反碼, (-128) = (10000000) 補碼的加減運算如下:
( 1 ) 10- ( 1 ) 10= ( 1 )10 + ( -1 )10 = ( 0 )10
(00000001)補 + (11111111)補 = (00000000)補 = ( 0 ) 正確
( 1 ) 10- ( 2) 10= ( 1 )10 + ( -2 )10 = ( -1 )10
(00000001) 補+ (11111110) 補= (11111111)補 = ( -1 ) 正確
所以補碼的設計目的是:
⑴使符號位能與有效值部分一起參加運算,從而簡化運算規則.
⑵使減法運算轉換為加法運算,進一步簡化計算機中運算器的線路設計
所有這些轉換都是在計算機的最底層進行的,而在我們使用的匯編、C等其他高級語言中使用的都是原碼
⑺ 原碼,反碼,補碼。和他們之間的轉換
是原碼
不是源碼
對於整數:補碼反碼原碼都是一樣的,也就是它本身的二進制
對於負數:
原碼:絕對值的原碼,將最高為變1
反碼:絕對值的原碼按位取反
補碼:絕對值的原碼按位取反再加1
⑻ 代碼是什麼意思
代碼(code)是指一套轉換信息的規則系統,例如將一個字母、單詞、聲音、圖像或手勢轉換為另一種形式或表達,有時還會縮短或加密以便通過某種信道或存儲媒體通信。
代碼設計的原則包括唯一確定性、標准化和通用性、可擴充性與穩定性、便於識別與記憶、力求短小與格式統一以及容易修改等。源代碼是代碼的分支,某種意義上來說,源代碼相當於代碼。代碼將言談轉化為視覺符號的寫作擴大了跨越時間、空間的通信表達。代碼有時亦稱代號等。
(8)自然碼和源碼擴展閱讀
代碼的特性
1、代碼能將源頭的信息轉化為便於通信或存儲的符號。解碼(Decoding)則是將其逆向還原的過程,將代碼符號轉化回收件人可以理解的形式。
2、代碼是編碼的其中一個原因是在平實語言、口語或寫作難以實現實現的情況下進行通信。例如,旗語可以用特定標記表達特定信息,站在遠處的另一個人可以解讀標識來重現該信息。
⑼ 什麼是源代碼怎麼編寫求高人指教
我給你打個形象的比方。程序員是和電腦打交道的,但程序員寫程序時,用的是我們人類的語言,或者說是用一些規定過的人類的語言,比如說我們熟悉的
java.那麼程序員寫出來的這個東西就是原代碼。原代碼經過翻譯,會變成電腦能識別的語言,這樣計算機就能做程序員所要求的事了。
編成你需要掌握一門語言,用該語言的語法去編寫程序。