11010C语言中是不是十进制,十进制整数转十六进制-C程序设计基础教程.PPT

十进制整数转十六进制-C程序设计基础教程

第一章 C程序设计基础 数制(二进制、八进制、十进制、十六进制) 码制(原码、反码、补码) 计算机的运行 程序设计方法 C语言概述 1.1 二进制基础 二进制则是逢二进一,只使用0和1这两个数码。 为什么采用二进制 成本更低 运算更简单 硬件上更容易实现 1.1 二进制基础(续) 二进制、十六进制和八进制 10进制数转换成2、8、16进制数 整数部分:除基取余法 小数部分:乘基取整法 2、8、16进制数转换成10进制数 按权相加法 2进制数转换成16进制数 四位一组用16进制数代替 16进制数转换成2进制数 每位用四位2进制数代替 1.1 二进制基础(续) 原码、反码与补码 原码表示法 除符号位以外,其他二进制位为数值的绝对值,这种方案称为“原码”表示法 反码表示法 除符号位以外,负数的反码表示是在原码基础上其他二进制位取反,而正数的反码表示与原码相同 1.1 二进制基础(续) 原码、反码与补码 补码表示法 负数的补码表示是在反码基础上加1,而正数的反码表示与原码相同 为什么计算机一般采用补码表示法 惟一性表示 正负数混和相加 带符号与无符号的混合相加 加减法的统一 ? 原码、反码和补码 ? 原码:一个整数在内存中占二字节,规定高位 字节的最左边一位为最高位,表示数的符号(0 正1负),其余各位代表数本身的绝对值。 如:+8的原码 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 - 8的原码 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 +0的原码 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0的原码 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ? 反码:正数的反码与原码相同,负数的反码规定 符号位不动,其余各位对原码取反 如:- 8的反码 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 - 0的反码 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ? 补码:正数的补码同原码,负数的补码为它的 反码加1 如:- 8的补码 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 - 0的补码 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0的补码 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ? 用补码表示数时,0的代码是唯一的; 负数补码的补码是它的原码; 用补码表示数使加减法的统一 。 1111 1111 1111 1101 (-3)的补码 + 0000 0000 0000 0001 (+1)的补码 1111 1111 1111 1110 (-2)的补码 ? 模216原则 假定用16位二进制表示一个整数,则数值范围为: 无符号数:0000000000000000~1111111111111111 0~ 216 -1 即 0~65535 有符号数:1000000000000000~0111111111111111 -215 ~ 215 -1 即 -32768~32767 如果计算机进行运算时运算结果超出这16位范围, 那么将只取低16位作为结果,例如: 65534 + 3 = 65536+1 无符号 有符号 1111 1111 1111 1110 (65534) (-2) + 0000 0000 0000 0011 (3) (3) 1 0000 0000 0000 0001 (1) (1) 无符号 有符号 1000 0000 0000 0010 (32770)(-32766 ) +

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值