补码

C语言03-VS中的内存窗口、补码、编码

妖精的绣舞 提交于 2020-01-14 00:14:29
文章目录 匈牙利命名法 补码知识 大端方式和小端方式 补码编码方案 在C语言中看补码 匈牙利命名法 规定了一整套关于函数、变量、面向对象等的命名规范。 变量的命名 局部变量,使用有意义的且 有前缀 区别类型。 int -n,i unsigned -u short -s double -db, d char -c, ch long -l char* -sz, str 例如: int nValue = 0; char chValue = '\0'; double dbValue = 0.0; float fltValue = 0.0f; char* szValue = NULL; 为了代码易读(’\0’,NULL),0.0f表示告诉编译器,这个数字是float类型的(默认是double类型) 复杂变量 用多个英文单词全拼组合,单词之间首字母大写。 int nIsEvenFlag = 0; double dbTeacherSalary = 0.0; double dbTeacherSalary = 0.0; 非局部变量 写在函数内部的为局部、写在外部的变量是全局变量。 全局变量 加“g_”前缀 g_nValue; 函数命名 除了没有类型前缀以外,和变量命名方式类似。 int IsEvenNumber(int nArg); void GetUserInput(); 补码知识 补码是 约定

整数在JVM中的表示

こ雲淡風輕ζ 提交于 2020-01-11 23:15:20
java语言规范中明确定义了byte、short、int、long 分别为8位、16位、32位、64位的有符号整数。 原码:符号位+数字的二进制位表示,以int为例,第一位为符号位,剩下31位是二进制值,所以int最大值为2的31次-1,最小值为2的31次。 8的原码:0000 0000 0000 0000 0000 0000 0000 1000 -8的原码:1000 0000 0000 0000 0000 0000 0000 1000 反码:原码中的符号位不变,二进制值全部取反。 8的反码:0111 1111 1111 1111 1111 1111 1111 0111 -8的反码:1111 1111 1111 1111 1111 1111 1111 0111 补码:正数的补码为原码本身,负数的补码是反码+1(补码不存在正负,也就是说补码没有符号位) 8的补码:0000 0000 0000 0000 0000 0000 0000 1000 -8的补码:1111 1111 1111 1111 1111 1111 1111 1000 注意事项:因为举例举得不是很好所以,特别声明 (这里-8的补码最后四位1000为8只是巧合,可能会让人产生误解,出现这种情况,认为-8的补码: 1111 1111 1111 1111 1111 1111 1111 1110 那么:-1的补码就为: 1111

第一篇:计算机基础知识

我是研究僧i 提交于 2020-01-11 13:58:32
原码补码反码 1. 反码(正数反码是其本身,负码是符号位不变,其余各位取反) 补码(正数补码是其本身,负数补码是其反码+1) 物理层和数据链路层 1.Mac地址就是设备的网卡地址,标识局域网中所处的位置 2.一台主机靠arp协议获取另一台主机的mac地址 3.IP地址是标识所在的局域网 4.IP网关类似于局域网的一个负责人 5. OSI七层协议( 应用层,表示层,会话层 ,传输层,网络层,数据链路层,物理层) Tcp/ip五层协议( 应用层, 传输层,网络层, 数据链路层,物理层 ) Tcp/ip四层协议 ( 应用层, 传输层,网络层, 网络接口层) 网络基础和dos命令 1.交换机:连接同一个局域网内不同pc的设备 路由:连接不同局域网的,也是通过与交换机连接的 2.交叉线(两端水晶头不同方式)-连接相同设备 直通线(两端水晶头相同方式)-连接不同设备 3.DOS命令 cd.. 表示上级目录 dir 查看当前目录下的目录及文件 del 删除文件 rd 删除目录 md 创建目录 来源: https://www.cnblogs.com/hm-blog/p/9538543.html

原码,反码,补码概念详解(包括进制转换)

℡╲_俬逩灬. 提交于 2020-01-08 20:49:20
原码,反码,补码概念详解 在后面有进制转换,在学习原码,反码,补码过程中如果想再熟悉进制转换可以看后面 一.原码, 反码, 补码的基础概念和计算方法. 对于一个数, 计算机要使用一定的编码方式进行存储. 原码, 反码, 补码是机器存储一个具体数字的编码方式. 原码 原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制: [+1]原 = 0000 0001 [-1]原 = 1000 0001 第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是: [1111 1111 , 0111 1111] 即 [-127 , 127] 反码 反码的表示方法是: 正数的反码是其本身 负数的反码是在其原码的基础上, 符号位不变,其余各个位取反. [+1] = [00000001]原 = [00000001]反 [-1] = [10000001]原 = [11111110]反 可见如果一个反码表示的是负数, 人脑无法直观的看出来它的数值. 通常要将其转换成原码再计算. 补码 补码的表示方法是: 正数的补码就是其本身 负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1) [+1] = [00000001]原 = [00000001]反 = [00000001]补 [-1] = [10000001]原

计算机应用技术:一、计算机应用基础问题

别等时光非礼了梦想. 提交于 2020-01-08 08:03:06
1、简述计算和算法概念的含义。   计算:映射或基于规则的符号串的变换过程。   算法:求解某类问题的通用法则或方法,即符号串变换的规则。     算法通常由某种精确的语言来表述,算法的执行过程就是计算。 2、简述人类计算工具发展所经历的各个阶段。   算筹》算盘》计算尺》机械计算机》电子管计算机》晶体管计算机》集成电路计算机》大规模和超大规模集成电路计算机等多个阶段。 3、简述冯·诺依曼”存储程序“计算机的基本结构和功能。   输入设备:输入数据和程序。   存储器: 记忆数据和程序。   运算器: 完成数据的加工和处理。   控制器: 控制程序执行。   输出设备:输出处理结果。 4、电子计算机发展经历了几个阶段?各个阶段的使用关键器件是什么?   第一代计算机:电子管计算机。ENIAC、EDSAC、IAS。   第二代计算机:晶体管计算机。TRADIC、IBM 7070、IBM 7090、IBM 1401。   第三代计算机:集成电路计算机。IBM 360。   第四代计算机:大规模、超大规模集成电路计算机。 5、简述CPU的功能。 *专门用来完成读取指令和执行指令的部件成为 中央处理器 。 功能:   1.程序控制。   2.操作控制。   3.时间控制。   4.数据运算。   CPU还负责计算机的输入/输出管理、总线控制、中断处理等任务。 6、描述CPU性能的指标有哪些

原码,反码,补码

自作多情 提交于 2020-01-07 19:18:51
原码 正数是数值本身 符号位是0 负数是数值本身 符号位是1 8位二进制的范围[-127,127] 反码 正数是数值本身 符号位是0 负数的数值部分是在正数表示的基础上对各个位取反 符号位是1 8位二进制的范围[-127,127] 补码 正数是数值本身 符号位是0 负数的数值部分是在正数表示的基础上对各个位取反后加1, 符号位是1 8位二进制的范围[-128,127] 为了加速计算机对加减乘除的运算速度,减少额外的识别成本,反码和补码应运而生; 1-2=1+(-2)=-1   1-2 = 1+(-2) = [0000 0001]原+[1000 0010] 原=[1000 0011]原 = -3这个结果显然不正确 为了解决这一问题, 出现了反码的编码形式 1-2=1+(-2)=-1   1-2 = 1+(-2) = [0000 0001]反+[1111 1101] 反 = [1111 1110]反 = -1 不可解决位和为0的状况 2-2=2+(-2)= 0   2-2=2+(-2)=[0000 0010]补+[1111 1110]补 = [0000 0000] = 0 [1000 0000]补 表示-128 来源: https://www.cnblogs.com/fdy-study-consist/p/12158475.html

转:【进制转换-概念】

青春壹個敷衍的年華 提交于 2020-01-07 11:13:57
1 符号位   C语言规定,把内存的最高位作为符号位,且用0表示正数,用1表示负数。 2 在计算机中,负数以其正值的补码形式表示 2.1 原码   一个整数,按照绝对值大小转换成的二进制数,称为原码。 如 00000000 00000000 00000000 00000110 是 6 的原码。 1 2.2 反码   将二进制数按位取反,所得的新二进制数称为原二进制数的反码。 如 00000000 00000000 00000000 00000110 的反码是 11111111 11111111 11111111 11111001 1 2.3 补码   反码加1称为补码。也就是说,要得到一个数的补码,先得到反码,然后反码加上1,所得数称为补码。   所以 -6 在计算机器的表示形式为: 1 # -6 的正值 6 的二进制: 2 00000000 00000000 00000000 00000110 3 4 # 取反得反码: 5 11111111 11111111 11111111 11111001 6 7 # +1 得补码,即 -6 在计算机中的二进制表示: 8 11111111 11111111 11111111 11111010   我们都知道负数在计算机中是以补码表示的,那为什么呢?补码的原理,而要想理解它,首先得理解算术中“ 模 ”的概念。所以首先看一下什么是模

拼了整整一天,把这个问题搞明白了(看我上一篇文章的问题)

喜欢而已 提交于 2020-01-04 05:24:39
1.模的概念(我只讲个例子,具体的可以查数学中的 "同余模") 在日常生活中,有许多化减为加的例子。例如,时钟是逢12进位,12点也可看作0点。 当将时针从10点调整到5点时有以下两种方法: 1.将时针逆时针方向拨5格,相当于做减法: 10-5=5 2.将时针顺时针方向拨7格,相当于做加法:10+(12-5)=12+5=5 (模为 12) 2.模的运用(采用模得到 补码 ) 1. 补码 的得来:是为了让负数变成能够加的正数,so,负数的 补码 =模-负数的绝对值 比如:-1 补码 :1111 1111(10000 0000 -1得来) 当一个数要减1的时候,可以直接加 1111 1111 2.原码的得来:(负数的原码,直接把对应正数的最高位改为1) 原码能够直观的表示一个负数(能直观的把真值显示出来,如 -1为1000 0001 其中最高位表示符号位,不进行算术计算) 3.总结: 补码 相加,到第9位才舍弃(模10000 0000) 原码相加,到第8位舍弃(模1000 0000) 反码相加,到第8位舍弃(模1000 0000) 3.原码和 补码 之间转换: 1. 补码 =原码减1,再取反(便于理解) 或 补码 = 反码+1(便于描述和推理) 2.演示: 补码 =原码减1,再取反 如-1的原码1000 0001-->1000 0000(减1后)-->1111 1111(取反后) 补码

算术运算单元ALU的设计与实现

拟墨画扇 提交于 2019-12-30 13:10:27
算术运算单元ALU的设计与实现 这是2018年大三时的一个课程设计,在这里把相关技术和用到的知识分享给大家。(由于编者水平有限可能存在错误的地方,欢迎大家指正)题目给出的要求如下: 一、设计题目及要求 要求: 1.进行两个四位二进制数的运算。 2.算术运算:A+B,A-B,A+1,A-1 3.逻辑运算:A and B,A or B,A not, A xor B 注意:从整体考虑设计方案,优化资源的利用 二、设计过程及内容 2.1总体设计 ALU算术运算单元由以下几个部分构成: 图1 ALU运算单元系统结构图 为了尽可能减少资源的使用(或以相同的资源增加更多的功能),在此系统的基础上,增加基于寄存器的分时复用输入模块进行改进。 图2 基于分时复用方法的ALU运算单元结构 ①输入模块 该模块用于两个四位二进制数的输入。通过使用实验箱的拨码开关,输入高低电平,表示二进制的 1和0,四组拨码开关组合可以表示一个四位二进制数。 ②逻辑运算单元 该模块用于两个四位二级制数的逻辑运算。通过列出一位二进制数逻辑运算的真值表(含有四种不同的逻辑运算功能),得出了一位二进制数逻辑运算单元的表达式(已使用卡诺图化简)。将按照逻辑表达式连接好的多个一位二进制逻辑运算单元进行组合,可得到多位二进制数逻辑运算单元。 通过使用“真值表+卡诺图”的方法将所有的逻辑运算的表达式融合在一起进行化简

(计算机体系结构)HIT期末复习

早过忘川 提交于 2019-12-28 21:07:51
未复习 分支预测 指令调度 循环 展开 填空题 简答题 问答题 易错知识点 原码为FFH,十进制的值为_______。(-127) 正数的原码=补码=反码 错题反思 暂时搁置 补码乘法 阶码乘法 来源: CSDN 作者: 一个路过的小码农110 链接: https://blog.csdn.net/JAck_chen0309/article/details/103746066