C语言中显示变量所占字节数;字节、字、字长;原码、反码、补码

字节(Byte 发音:/‘bait/)
在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。
字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制。

转换关系
8bit=1byte
1024byte=1kb
1024kb=1mb
1024mb=1gb
1024gb=1tb

字、字节、字长
http://baike.baidu.com/view/60408.htm

 

有些操作系统和处理器不把它们的标准字长称作字,相反,出于历史原因和某种主观的命名习惯,它们用字来代表一些固定长度的数据类型。比如说,一些系统根据长度把数据划分为字节(byte,8位),字(word,16位),双字(double words 32位)和四字(quad words 64位),而实际上该机是32位的。在本书中—在Linux中一般也是这样—象我们前面所讨论的那样,一个字就是代表处理器的字长

 

Type                                                      Size
char, unsigned char, signed char   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 根据题目,机器字长为8位,因此需要用8位二进制数来表示这些数的不同表示。 1. -1的表示: - 原码:10000001 - 反码:11111110 - 补码:11111111 - 移码:10000000 2. -1011001的表示: - 原码:11101001 - 反码:10010110 - 补码:10010111 - 移码:11101000 3. 1011001的表示: - 原码:01011001 - 反码:01011001 - 补码:01011001 - 移码:01011001 其原码表示是最基本的二进制表示,正数的原码补码相同,而负数的原码最高位为1。反码是将原码除符号位以外的位按位取反得到的。补码是将反码末位加1得到的,是计算机负数的标准表示方式。移码是将补码所有位数加上一个固定值得到的,在计算机常用于浮点数的表示。 ### 回答2: -1的原码表示为:10000001 -1的反码表示为:11111110 -1的补码表示为:11111111 -1的移码表示为:01111111 -1011001的原码表示为:11010111 -1011001的反码表示为:10101000 -1011001的补码表示为:10101001 -1011001的移码表示为:00101001 1011001的原码表示为:1011001 1011001的反码表示为:1011001 1011001的补码表示为:1011001 1011001的移码表示为:0011001 设机器字长为8位,表示范围为-128 ~ 127。可以发现上述三个数目前都是负数,而负数在计算机是用补码表示的。所以需要将这三个数的原码转换为补码来表示。 对于原码转换为补码的方法为: 如果原码的符号位为1(表示负数),则补码不变; 如果原码的符号位为0(表示正数),则补码等于原码。 对于补码转换为反码的方法为: 如果补码的符号位为1(表示负数),则反码等于补码除符号位外的位取反; 如果补码的符号位为0(表示正数),则反码等于补码。 对于补码转换为移码的方法为: 将补码的符号位取反得到移码。 因此,给出的三个数的补码和移码与原码是一样的。 ### 回答3: -1的8位原码表示为:10000001 -1的8位反码表示为:11111110 -1的8位补码表示为:11111111 -1的8位移码表示为:10000000 -1011001的8位原码表示为:11011001 -1011001的8位反码表示为:11100110 -1011001的8位补码表示为:11100111 -1011001的8位移码表示为:11111110 1011001的8位原码表示为:00110001 1011001的8位反码表示为:00110001 1011001的8位补码表示为:00110001 1011001的8位移码表示为:00110001 在8位的机器,正数的原码反码补码和移码表示都相同。而负数的反码表示为对其原码除符号位外的每一位取反,补码表示为对其原码除符号位外的每一位取反,然后再加1。 移码表示是为了简化负数的运算,将其转换成的在同等位数上的正数运算。移码的规则是对补码取反得到移码,正数的移码与原码相同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值