码迷,mamicode.com
首页 > 其他好文 > 详细

原码 反码 补码

时间:2017-12-28 14:37:10      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:类型   log   dash   计算   概述   printf   pos   根据   进制   

概述:
数值的表示方法——原码、反码和补码
原码:最高位为符号位,其余各位为数值本身的绝对值

反码
正数:反码与原码相同
负数:符号位为 1,其余位对原码取反

补码
正数:原码、反码、补码相同
负数:最高位为 1,其余位为原码取反,再对整个数加 1
计算机原码用于表示有符号整数中的正数和无符号整数

================================================

计算机用【原码】存储(有符号正数)和(无符号整数)
计算机用【补码】存储(有符号负数),补码减1=反码,反码取反=原码

示列
int a = -1; 这里的-1用补码存储
print(%d,%u,a,a);
%d按打印=-1,为什么是-1(原码),因为这里打印的有符号十进制,如果这里是-100,%u打印,就会打印-00,
%u按补码打印=4294967295(补码)%u按照无符号十进制打印。

原码:1000 0000 0000 0000 0000 0000 0000 0001
反码:1111 1111 1111 1111 1111 1111 1111 1110
补码:1111 1111 1111 1111 1111 1111 1111 1111 补码要从反码哪里加1

%d按照有符号十进制打印,%u按照无符号十进制打印。

pritf是直接抓取二进制数,无论这个数据以前是什么类型,按照%d,%u,%....来解析

printf是根据给出的%..是多少打印对应的值

原码 反码 补码

标签:类型   log   dash   计算   概述   printf   pos   根据   进制   

原文地址:https://www.cnblogs.com/weekbo/p/8135470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!