反码补码原码转换c语言程序_127的原码反码补码
2023-06-13 09:13:38 时间
注意:下面的例子都用有符号整数来举例
整数在数据中的储存
整数在数据中的储存方式是补码,所以如果要进行运算的话,那就需要将原码转换为补码再计算
正数的原反补的转换
正数的原码
原码就是把一个十进制的数转换为二进制的数字 比如:10的原码就是:1010 但是再内存中的储存是32bit,符号位是最高的一位,所以10的原码是 00000000000000000000000000001010(32bit)
符号位的描述如下,符号位0表示正数,1表示负数
正数的反码
正数的反码就是原码,不需要转化
正数的补码
正数的补码就是原码,同样不需要转换
所以正数在内存中的储存情况就是原码,因为正数的原码反码补码都一致。
负号的原反补的转换
负数的原码
如果是整数位(有符号整数)那么符号位就是1(不知道怎么来的话上面有图片), 然后其他的步骤和正数一样,只是符号位有区别 比如-10的原码就是
负数的反码
记住口诀就行: 符号位不变,其他位全部取反
还是以-10为例
负数的补码
还是以-10为例
口诀就是:反码+1
所以负数由十进制数字变成原码,再变成补码的全过程是
正数负数的补码变成原码
正数
不需要转换,补码就是原码
负数
就是将上面的步骤反着来 补码-1变成反码,然后 符号位不变,其他全部取反
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/192551.html原文链接:https://javaforall.cn
相关文章
- c语言long类型转换成string,如何在C ++中将long转换为string?「建议收藏」
- 【说站】javascript首字母大写转换的方法
- java类型强制转换异常例子_java.lang.unsatisfiedlinkerror
- c语言时间戳转换日期格式_c语言时间转换为时间戳
- char型和int型数据可以相互转换_c语言强制类型转换用法
- List与Json的相互转换详解编程语言
- 解决MSSQL数据库转换的最佳实践(怎么转mssql数据库)
- Oracle字符转换技术:将字符变为数字(oracle字符转换数字)
- MSSQL将多行数据转换字符串的技巧(mssql 行转 字符串)
- 从Redis返回值强制转换(强转redis返回值)
- Oracle八进制数据转换技术探索(oracle 八进制转换)
- c语言实现24小时制转换为12小时制示例
- c语言标准库中字符转换函数和数字转换函数
- JS对象与json字符串格式转换实例
- Go语言中转换JSON数据简单例子
- CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能