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

一道题回顾计算机数值存储方式-原码,反码,补码

时间:2016-08-03 12:01:19      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

突然想到了计算机的补码,现在利用这个题目回顾一下相关知识点

unsigned char ch = -1;

int val = ch;

val的最终值是255;

 

换算成二进制一下,-1的源码:1000 0001,反码:1111 1110 ,负数在计算机中是以补码形式存储的,-1的补码:1111 1111 

ch 变量是 无符号的,也就是整个补码的二进制位都是数值位,1111 1111 二进制位换算成十进制就是255,最终赋值给整数结果自然也是255

 

这道题目考察的就是计算机数值的存储方式,对于正数,反码和补码一样都是其本身,对于负数而言,有点区别

负数的反码:原码的基础上,符号位不变,数值为取反

负数的补码:反码的基础上+1

一道题回顾计算机数值存储方式-原码,反码,补码

标签:

原文地址:http://www.cnblogs.com/knight-monkey/p/knight_201608031122.html

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