黑马程序员--------------------------------------------C语言学习记录五
2015-05-10 11:06
435 查看
----------- android培训、java培训、java学习型技术博客、期待与您交流! -----------
原码、反码、补码
一个数在计算机中的二进制存储形式,叫做这个数的机器数。机器数是带符号的,在计算机中用一个数的最高位存放符号,最高位为0表示是正数,最高位为1表示是负数。比如十进制数3的机器数是0000 0011;如果是-3,它的机器数就是1000 0011。带符号位的机器数对应的真正数值称为机器数的真值。例如,0000 0011的真值是3,1000 0011的真值是-3。需要注意的是,机器数的真值和机器数转换成十进制数是不一样的,例如1000 0011转换成十进制数是131,但由于机器数的最高位存放符号,因此机器数的真值是-3。
机器数有原码、补码、反码这三种表现形式。计算机将一个数以二进制形式存储时,会将该数分别进行求原码、求反码、求补码这三步操作,最终将得到的机器数存入内存。
1、原码
原码就是符号位加上真值的绝对值。例如,1的原码为 0000 0001,-1的原码为1000 0001。
2、反码
反码的表示方法是:正数的反码是其原码,负数的反码是在其原码的基础上,符号位不变,其余各个位取反。例如1的原码是0000 0001,反码也是0000 0001,而-1的原码是1000 0001,反码则是1111 1110。
3、补码
补码的表示方法是:正数的补码就其原码,负数的补码是在其反码的基础上+1。例如1的原码是0000 0001,反码是0000 0001,补码也是0000 0001,而-1的原码是1000 0001,反码是1111 1110,补码则是1111 1111。
最终一个数的补码就是该数在计算机中以二进制形式存放的机器数,例如数值1在计算机中的二进制形式为0000 0 01,而-1在计算机中的二进制形式为1111 1111。
----------- android培训、java培训、java学习型技术博客、期待与您交流! -----------
相关文章推荐
- 黑马程序员--------------------------------------------C语言学习记录七
- 黑马程序员--------------------------------------------C语言学习记录八
- 黑马程序员--------------------------------------------C语言学习记录三
- 黑马程序员--------------------------------------------C语言学习记录九
- 黑马程序员--------------------------------------------C语言学习记录十
- 黑马程序员--------------------------------------------C语言学习记录六
- 【黑马程序员】C语言学习笔记之clang指令(二)
- 黑马程序员-C语言基础学习(三)
- 黑马程序员--从入门到精通,C语言学习路线书籍推荐
- 黑马程序员之IOS学习总结——04 C语言中数组与字符串
- 黑马程序员——c语言学习---运算
- 黑马程序员Java培训、Android培训-Java 学习过程记录_多线程2
- 黑马程序员-[C语言]学习日记(一)
- 黑马程序员-c语言学习笔记-运算符
- C语言学习记录 递归逆序排序字符串
- 黑马程序员——C语言学习之流程结构-if—switch—while—do while
- sqlite学习笔记11:C语言中使用sqlite之删除记录
- 黑马程序员之IOS学习总结——02C语言的流程控制之选择结构
- 黑马程序员-ios学习笔记 c语言 冒泡排序
- C语言学习记录 引用传递