补码总结
2015-06-03 15:18
381 查看
计算机的最高位为符号位 1表示负数, 0表示正数
8位,最多表示256个数, 范围 -128-127
0111 1111 127
1000 0001 -127
规定 1000 0000 定为 -128的补码,就是-0, 也就是0
16位,最多表示65536个数, 范围 -32768-32767
0111 1111 1111 1111 32767
1000 0000 0000 0001 -32767
32768 就是-0, 也就是0
负数是以 正数的补码表示
公式: 补码= 正数 按位取反+1
比如:
8位数: 10 的二进制 0000 1010
按位取反 1111 0101
加1 1111 0110
就是-10, 16进制
F6h 按位取反+1=10
补充:
公式: 补码= 数 按位取反+1 这个是可逆的
按位取反 为了 +,-颠倒
因为有-0, 所以+1
8位,最多表示256个数, 范围 -128-127
0111 1111 127
1000 0001 -127
规定 1000 0000 定为 -128的补码,就是-0, 也就是0
16位,最多表示65536个数, 范围 -32768-32767
0111 1111 1111 1111 32767
1000 0000 0000 0001 -32767
32768 就是-0, 也就是0
负数是以 正数的补码表示
公式: 补码= 正数 按位取反+1
比如:
8位数: 10 的二进制 0000 1010
按位取反 1111 0101
加1 1111 0110
就是-10, 16进制
F6h 按位取反+1=10
补充:
公式: 补码= 数 按位取反+1 这个是可逆的
按位取反 为了 +,-颠倒
因为有-0, 所以+1
相关文章推荐
- 前端学习笔记之页面制作(一)——PS切图
- 获取iphone的设备信息
- iOS 7 SDK: 如何使用后台获取(Background Fetch)
- Hadoop中的辅助类ToolRunner和Configured的用法详解
- 1156: 钟
- iOS生成随机数
- oracle 11g expdp impdp详细使用方法
- 【leetcode c++】twoSum
- Android SlidingMenu 使用详解
- 前端学习笔记之页面制作(三)——HTML
- 前端学习笔记之页面制作(二)——开发环境Sublime Text2(持续更新)
- 我们常用的测试管理工具—JIRA篇
- 里程计、推算定位与视觉里程计
- 关于FVID2_Frame结构体的一点疑惑
- 优秀的程序员和一般的程序员差别在哪?
- android helloworld级别学习
- oracle中LAG()和LEAD()等分析统计函数的使用方法(统计月增长率)
- 《Entity Framework 6 Recipes》中文翻译系列 (39) ------ 第七章 使用对象服务之配置模型和使用单复数服务
- 关于iReport汉化版强制使用英文的配置方法
- Android DiskLruCache完全解析,硬盘缓存的最佳方案