首页 > 编程知识 正文

计算机中原码反码补码,进制转换的题目及答案

时间:2023-05-04 09:05:07 阅读:39652 作者:4944

1 ) 1字节(8比特)大小的数字(char )原始代码)用户视点)原始二进制1,用户数字分为正负数,符号比特存储2,最高有效比特为符号比特) 0为正数,1为负数3,1000, 1:0000001-1:10000010:00000000-0:100000000的原码记忆会引起两个问题。 1、0有两种存储方式2,正数和负数的加法。 结果不正确(计算机只加不减)原码为1-1=1-1) 00000001-1:1000000110000010=-2反码(用于计算补数),正数原码与补数相同2,原码3 求负数) )基于原码,符号1:00000001-1:11111110:00000000-0:11111111反码存储引起的一个问题: 1,0包括:1-1=1- 11:1 为了成为其反码13、候补码14,以候补码方式保存(为了解决负数的保存),得到原码1,生成1:00000001-1:11111110:=0000 0000-0:100000000 (最高位废弃1-1=1-1)1:0000001-1:11111100001站在用户的立场上,原码的二进制、八进制、十六进制,补码在计算机系统中,数值一律补码主要原因是统一1.0的符号2 .统一处理符号位和其他位3 .将减法运算改变为加法运算,加上4.2个补数,如果最高位(符号位)有进位,则其他位是指二进制(原代码)2)1),再加上其他比特相反)补充码是2 )加上1补充码)1)补充码是2 ),并且编码比特不变,其他比特相反)原码是2 )加上1例)/1字节10000 ) 00011。补充码: 1 //-127//10十进制,在用户立场上,原码int a=-123; 原码: 10000000000000000000001111011反码: 1111111111111100100补码: 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 默认情况下,以4字节(32位)大小打印5 //2进制、8进制和16进制,站在计算机的角度来补充printf('%xn ',a )。 //ffffff85数据类型范围(站在十进制角度,原代码(char 1字节(8位)有符号范围)。 正数: 0000 0000 ~ 0111 11110 ~ 127负数: 1000 0000~1111-0~- 127-0作为-128使用-128 :原码:11000 0000。128~127无符号: 007 有符号:-128 ~ 127无符号:0 ~ 255赋值或计算越多,记住不要越界:char ch=127 2; /*129 :补码: 1000 0001反码: 1111 1110原码: 1111 */4 [ printf (' % dn ',ch; //-127unsigned char b=255 2; //257为二进制000100000001(8 (仅取8位) 00000001--1printf ) ' %un ',b ); //1

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。