位运算中的符号运算
2016-03-01 20:07
260 查看
1.取反符号“~”
例:~10=-11。要想明白取反符号的用法及运算过程,必须知道在计算机中数是以补码的形式存储的。还应了解原码,反码,补码之间的转换关系。
以八位整数10为例:
原码:00001010
反码:00001010
补码:00001010
*正数的补码和反码都与原码相同。
以八位整数-10为例:
原码:10001010
反码:11110101
补码:11110110
*负数情况比较复杂。
反码=原码除符号位每位取反
补码=反码+1
回过头来看取反符号的问题就简单多了。10的补码是00001010,取反后为11110101。该结果是以补码的方式存储的,因此接下来便是求这个补码代表哪一个数,即求负数(因为最高位是1,为负数)补码的逆过程。已知补码求原码:补码减1(11110100)符号不变再取反((10001011)=-3)。
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 使用位运算实现网页中的过滤、筛选功能实例
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置