自然码和源码
⑴ 代码是什么意思
代码 含意
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.那么程序员写出来的这个东西就是原代码。原代码经过翻译,会变成电脑能识别的语言,这样计算机就能做程序员所要求的事了。
编成你需要掌握一门语言,用该语言的语法去编写程序。