大家好,今天小编关注到一个比较有意思的话题,就是关于C语言卢萍的问题,于是小编就整理了2个相关介绍C语言卢萍的解答,让我们一起看看吧。
负数补码怎么算啊、里边老有个符号位、符号位是指的哪位啊?
补码的定义:
正数的补码等于正数的原码;
负数的补码为其源码除符号位不动,其余各位变反再加1。
x1=35, x2=-1;
因为x1>0,所以[x1]补=[x1]原=0010 0011;
因为x2<0,所以[x2]原=1000 0001;
[x2]补=1111 1110+1=1111 1111;
对于机器来说,它记录的只是补码本身:0010 0011和1111 1111,也就是说机器并不知道这段补码是有符号数还是无符号数,但是当你使用高级语言编写程序,定义了int或者unsigned int,那么就会根据相应的定义,认为这段机器码的第一位是数值位或者符号位。
负数补码怎么算啊、里边老有个符号位、符号位是指的哪位啊?
补码的定义:
正数的补码等于正数的原码;
负数的补码为其源码除符号位不动,其余各位变反再加1。
比如,十进制数35和-1在8位机中的补码表示为:
x1=35, x2=-1;
因为x1>0,所以[x1]补=[x1]原=0010 0011;
因为x2<0,所以[x2]原=1000 0001;
[x2]补=1111 1110+1=1111 1111;
对于机器来说,它记录的只是补码本身:0010 0011和1111 1111,也就是说机器并不知道这段补码是有符号数还是无符号数,但是当你使用高级语言编写程序,定义了int或者unsigned int,那么就会根据相应的定义,认为这段机器码的第一位是数值位或者符号位。
到此,以上就是小编对于C语言卢萍的问题就介绍到这了,希望介绍关于C语言卢萍的2点解答对大家有用。