黑马程序员技术交流社区

标题: 关于反码,补码和原码 [打印本页]

作者: 云霄之上    时间: 2014-7-16 22:49
标题: 关于反码,补码和原码
这些都有什么用?
作者: fantacyleo    时间: 2014-7-16 23:26
当你想知道数字是如何在计算机内部用01表示时就有用了,可以帮你彻底明白有符号数和无符号数到底是神马意思,搞清楚为什么下面这段代码会打印出"false"
  1. unsigned int u = 3;
  2. if(-1 < u)
  3.     printf("true\n");
  4. else
  5.     printf("false\n");
复制代码


另外就是位运算时会涉及反码。
作者: haohaoxuexi    时间: 2014-7-16 23:36
本帖最后由 haohaoxuexi 于 2014-7-16 23:58 编辑

关于反码,补码,源码你这个可以参考计算机组成原理的知识,说的不太准确,看楼下哈
作者: 443201683@qq.co    时间: 2014-7-16 23:51
原码:二进制定点表示法,最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外.
原码10100= 反码11011 (10100,1为符号码,故为负)
(11011) 二进制= -11 十进制
补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
作者: 可心来了    时间: 2014-7-17 00:11
顶一个 谢谢分享
作者: Devchen    时间: 2014-7-17 00:18
原理性东西,感觉理解一遍就好,用时再细细纠结
作者: chengnuoaini030    时间: 2014-7-17 11:52
是计算机存储数据的一种方式
作者: Moebius    时间: 2014-7-17 11:57
这个我感觉对编程的影响不大,可以了解,如果有强迫症一定要搞清楚的话也可以。。
作者: 努力微笑    时间: 2014-7-17 12:27
计算机组成原理知识,理解就可以了,不过这东西感觉挺绕的
作者: 阳光地带    时间: 2014-7-17 15:11
分别是计算机在内存和存储器中存储数据的几种方式。原码是直接把数据换算成二进制,整数的反码和补码与原码相同,负数还要经过简单的计算。反码和补码的作用是方便计算机进行计算。不明白可以找我继续讨论。
作者: fxc    时间: 2014-7-17 15:17
加油!暂时知道有这个东西就好吧!以后用到再深入研究就好是吧。我是这么想的!
作者: -(_)-    时间: 2014-7-18 18:47
这些都是计算机的基本原理, 因为计算机是只识别0跟1的机器, 这些码就是把我们的数字符号等根据一定的规律算法进行转换, 让数字符号能够以01的数字组合进行表示.
作者: 且行且惜    时间: 2014-7-18 19:23
计算机存储数据的方式而已,不断的发展,现在计算机是补码存二进制数据的!!!
作者: megatron    时间: 2014-7-18 22:49
基本没啥用,实际开发基本用不到,了解就行




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2