c语言有无符号数的转换(个人学习过程中的理解)

文章讨论了在计算机内存中,char类型占一个字节的有符号数255在二进制下的表示。由于最高位为1,按照有符号数规则,其对应的十进制值为-1,而若为无符号数,则该值为255。最高位的1表示负数,0表示正数,这种差异影响了数值的解释。

 定义有符号数c的值为255,char类型在内存中占一个字节(8位)的内存空间

将其转换为二进制展开为 11111111  因为c为有符号数,最高位为1,

如果为无符号数则为01111111

有符号数最高位为1,无符号数最高位为0

c是有符号数,最高为的二进制数为-256,其余为为255,相加,c的十进制整数就为-1

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值